#include <ESP8266WiFi.h> // 引入ESP8266WiFi库 #include <WiFiClientSecure.h> // 引入WiFiClientSecure库

const char* ssid = "7-4"; // 定义wifi名称 const char* password = "120712071207"; // 定义wifi密码

const char* host = "qyapi.weixin.qq.com"; // 定义请求的主机名 const int httpsPort = 443; // 定义https端口号

void setup() { Serial.begin(115200); // 初始化串口 delay(10);

WiFi.begin(ssid, password); // 连接wifi

while (WiFi.status() != WL_CONNECTED) { // 等待wifi连接成功 delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected");

WiFiClientSecure client; // 创建WiFiClientSecure对象 Serial.print("Connecting to "); Serial.println(host);

if (!client.connect(host, httpsPort)) { // 连接到主机 Serial.println("Connection failed"); return; }

String url = "/cgi-bin/gettoken?corpid=ww14719343a72136f2&corpsecret=DdrjdjJEL-rBPuOGVAyu_FoX5jHM2lSyQKAC0vDmVnU"; // 定义请求的url Serial.print("Requesting URL: "); Serial.println(url);

client.print(String("GET ") + url + " HTTP/1.1\r\n" + // 发送GET请求 "Host: " + host + "\r\n" + "User-Agent: BuildFailureDetectorESP8266\r\n" + "Connection: close\r\n\r\n");

Serial.println("Request sent"); }

void loop() { WiFiClientSecure client; // 创建WiFiClientSecure对象 if (!client.connect(host, httpsPort)) { // 重新连接到主机 Serial.println("Connection failed"); return; }

String url = "/cgi-bin/gettoken?corpid=ww14719343a72136f2&corpsecret=DdrjdjJEL-rBPuOGVAyu_FoX5jHM2lSyQKAC0vDmVnU"; // 定义请求的url Serial.print("Requesting URL: "); Serial.println(url);

client.print(String("GET ") + url + " HTTP/1.1\r\n" + // 发送GET请求 "Host: " + host + "\r\n" + "User-Agent: BuildFailureDetectorESP8266\r\n" + "Connection: close\r\n\r\n");

Serial.println("Request sent");

while (client.connected()) { // 等待响应 String line = client.readStringUntil('\n'); if (line == "\r") { // 响应头结束 break; } }

String response = client.readString(); // 读取响应

if (response.indexOf(""errmsg":"ok"") != -1) { // 判断响应是否包含"errmsg":"ok" Serial.println("zhengque"); } else { Serial.println("cuowu"); }

int start = response.indexOf(""access_token":"") + 17; // 取出"access_token":"和","expires_in"中间的字符 int end = response.indexOf("","expires_in""); String token = response.substring(start, end); Serial.println(token);

delay(5000); // 每隔5秒钟请求一次 }

为ESP12F模块用Arduino写一个代码连接名为7-4的wifi密码为120712071207用GET的方式访问httpsqyapiweixinqqcomcgi-bingettokencorpid=ww14719343a72136f2&corpsecret=DdrjdjJEL-rBPuOGVAyu_FoX5jHM2lSyQKAC0vDmVnU连接方式采用https并返回网页源码并且判断返回的源

原文地址: https://www.cveoy.top/t/topic/b1K8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录