为ESP12F模块用Arduino写一个代码连接名为7-4的wifi密码为120712071207用HTTPS的方式用POST的方式访问httpsqyapiweixinqqcomcgi-binmessagesendaccess_token=ACCESS_TOKENPOST的数据为touseralltopartyaltotagalmsgtypetextagentid1000002textconten
#include <ESP8266WiFi.h> //引入WiFi库
const char* ssid = "7-4"; //WiFi名称 const char* password = "120712071207"; //WiFi密码
const char* host = "qyapi.weixin.qq.com"; //目标服务器 const int httpsPort = 443; //HTTPS端口
const char* fingerprint = "74 38 7E 8C 9D 6B 0C 01 8F 1D 3B 0D 6E 0E 4C 9C 48 11 1A 7C"; //目标服务器证书指纹
void setup() { Serial.begin(115200); //设置串口通信波特率为115200 delay(10);
WiFi.begin(ssid, password); //连接WiFi
while (WiFi.status() != WL_CONNECTED) { //等待WiFi连接成功 delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected");
//设置HTTPS客户端 client.setInsecure(); //不验证服务器证书 client.setFingerprint(fingerprint); //设置目标服务器证书指纹 }
void loop() { //建立HTTPS连接 if (!client.connect(host, httpsPort)) { Serial.println("connection failed"); return; }
//构建POST请求 String postData = "{"touser":"@all","toparty":"@al","totag":"@al","msgtype":"text","agentid":1000002,"text":{"content":"有漏水请尽快处理"},"safe":0,"enable_id_trans":0,"enable_duplicate_check":0,"duplicate_check_interval":1800}"; String request = "POST /cgi-bin/message/send?access_token=ACCESS_TOKEN HTTP/1.1\r\n"; request += "Host: qyapi.weixin.qq.com\r\n"; request += "Content-Type: application/json\r\n"; request += "Content-Length: " + String(postData.length()) + "\r\n"; request += "\r\n"; request += postData;
//发送POST请求 client.print(request);
//等待服务器响应 while (!client.available()) { delay(50); }
//读取服务器响应 while (client.available()) { String line = client.readStringUntil('\r\n'); Serial.println(line); }
//关闭HTTPS连接 client.stop();
delay(10000); //10秒钟后再次发送请求 }
原文地址: https://www.cveoy.top/t/topic/b1xB 著作权归作者所有。请勿转载和采集!