ESP32请求HTTPS服务器返回错误码-5的排查求助
ESP32 HTTPS请求错误码-5排查方案
错误码-5的核心含义
ESP32 HTTP客户端返回错误码-5,通常对应TLS握手失败或连接超时——因为你访问的是HTTPS链接,问题大概率出在证书验证、TLS版本适配,或是服务器侧的访问限制。
分步排查流程
1. 先验证证书验证是否是问题根源
ESP32默认开启HTTPS证书严格验证,但内置根证书库可能不包含目标网站的CA证书,导致握手失败。可以临时关闭验证做测试(仅用于排查,生产环境不建议):
WiFiClientSecure client; client.setInsecure(); // 关闭证书验证
如果关闭后能正常获取数据,说明是证书问题,后续需要添加目标网站的根证书到代码中。
2. 适配服务器TLS版本
部分服务器仅支持TLS 1.2及以上版本,ESP32默认TLS版本可能不匹配,强制指定版本试试:
client.setTLSVersion(TLS_v1_2); // 强制使用TLS 1.2
3. 检查网络基础连通性
- 确认ESP32连接的WiFi能正常访问公网:先尝试ping公共IP(如
8.8.8.8)测试网络。 - 测试DNS解析:用
ping kapsejlads.nu获取目标网站IP,直接用IP发起HTTPS请求,排除DNS解析失败的可能。
4. 规避服务器User-Agent拦截
很多服务器会拦截非浏览器的User-Agent,手动设置浏览器标识:
http.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36");
5. 用极简代码排除干扰
写一个无冗余的测试代码,排除其他逻辑影响:
#include <WiFi.h> #include <HTTPClient.h> #include <WiFiClientSecure.h> const char* ssid = "你的WiFi名称"; const char* password = "你的WiFi密码"; const char* url = "https://kapsejlads.nu/hide-horn-esp.php?klubid=13"; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("\nWiFi connected"); WiFiClientSecure client; client.setInsecure(); client.setTLSVersion(TLS_v1_2); HTTPClient http; if (http.begin(client, url)) { http.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"); int httpCode = http.GET(); Serial.printf("HTTP状态码: %d\n", httpCode); if (httpCode > 0) { String payload = http.getString(); Serial.println("返回内容: " + payload); } http.end(); } else { Serial.println("HTTP初始化失败,错误码: " + String(http.errorCode())); } } void loop() { delay(10000); }
6. 服务器侧排查(若有权限)
查看目标网站的访问日志,确认ESP32的请求是否被记录,是否有4xx/5xx状态码返回但客户端未捕获到;同时检查服务器是否有IP黑白名单、请求频率限制等规则。
结论方向
- 关闭证书验证后成功:需添加目标网站的根证书到ESP32代码中。
- 设置User-Agent后成功:服务器拦截了ESP32默认的标识。
- 以上都无效:用Wireshark抓包分析ESP32的请求过程,确认是TLS握手阶段失败还是请求被直接拒绝。
内容的提问来源于stack exchange,提问作者Frank Rosendahl Larsen
相关产品推荐
相关产品推荐

