You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32 Mesh网络下esp_http_client发起HTTPS请求失败求助

解决Mesh环境下esp_http_client无法发起HTTPS请求的问题

问题本质

日志里的getaddrinfo() returns 202对应ESP-IDF的ESP_ERR_DNS_FAILURE,核心是根节点的DNS解析失败。虽然根节点已连接外部WiFi,但Mesh模式下系统网络栈的路由或DNS配置未正确继承STA接口的设置,导致无法解析服务器域名。

解决步骤

1. 手动指定DNS服务器

Mesh模式下默认DNS配置可能异常,直接硬指定公共DNS服务器:

esp_netif_dns_info_t dns_info;
memset(&dns_info, 0, sizeof(dns_info));
dns_info.ip.u_addr.ip4.addr = ipaddr_addr("8.8.8.8"); // 也可使用114.114.114.114
dns_info.ip.type = IPADDR_TYPE_V4;
// 为根节点的STA网口设置主DNS
esp_netif_set_dns(esp_netif_get_handle_from_ifkey("WIFI_STA_DEF"), ESP_NETIF_DNS_MAIN, &dns_info);

2. 调整网络路由优先级

根节点同时维护Mesh和STA连接,需让STA接口的路由优先级高于Mesh,避免请求误走Mesh内部链路:

// 获取STA和Mesh的网口句柄
esp_netif_t *sta_netif = esp_netif_get_handle_from_ifkey("WIFI_STA_DEF");
esp_netif_t *mesh_netif = esp_netif_get_handle_from_ifkey("MESH_NETIF_DEF");
// 数值越小优先级越高,将STA设为高优先级
esp_netif_set_netif_impl_arg(sta_netif, ESP_NETIF_ARG_ROUTE_PRIORITY, (void *)1);
esp_netif_set_netif_impl_arg(mesh_netif, ESP_NETIF_ARG_ROUTE_PRIORITY, (void *)10);

3. 给esp_http_client绑定STA接口

创建HTTP客户端配置时,明确指定使用STA接口发起请求,排除Mesh接口干扰:

esp_http_client_config_t config = {
    .url = "你的HTTPS固件下载地址",
    .transport_type = HTTP_TRANSPORT_OVER_SSL,
    .netif_ctx = esp_netif_get_handle_from_ifkey("WIFI_STA_DEF"), // 绑定STA网口
    // 补充HTTPS证书配置,如.cert_pem字段(若服务器证书未被ESP根证书信任)
};
esp_http_client_handle_t client = esp_http_client_init(&config);

4. 先验证根节点的网络状态

发起请求前,确认根节点已成功连接WiFi并获取到有效IP:

wifi_ap_record_t ap_info;
if (esp_wifi_sta_get_ap_info(&ap_info) == ESP_OK) {
    esp_netif_ip_info_t ip_info;
    if (esp_netif_get_ip_info(esp_netif_get_handle_from_ifkey("WIFI_STA_DEF"), &ip_info) == ESP_OK) {
        // 确认网络正常后再发起请求
    }
}

5. 禁用Mesh的DNS转发功能

若之前开启了Mesh的DNS转发,可能与STA的DNS解析冲突,直接关闭:

esp_mesh_config_t mesh_config = {
    .dns_forward = false, // 禁用DNS转发
    // 其他原有Mesh配置参数
};
esp_mesh_init(&mesh_config);

验证方法

修改配置后重新烧录固件,观察日志是否仍有DNS解析错误。若解析成功,esp_http_client应能正常建立HTTPS连接并返回200状态码。

内容的提问来源于stack exchange,提问作者user119374753

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:03:12