ESP12F 模块 Arduino 代码:使用 HTTPS POST 方法发送微信企业号消息
#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'; // 目标服务器证书指纹
WiFiClient client;
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/nl60 著作权归作者所有。请勿转载和采集!