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

nrf9160开发板连接googleapis.com地理定位服务被拒绝问题求助

排查步骤与解决方案
  • 确认DNS解析结果正确性

    首先打印getaddrinfo返回的res结构中存储的IP地址,对比正常可访问谷歌服务的网络环境下解析googleapis.com得到的IP是否一致。如果IP匹配不上,说明当前使用的蜂窝网络存在DNS污染,可尝试手动指定googleapis.com的合法IP做测试,或者更换支持谷歌服务的APN/SIM卡。
  • 校验端口配置

    确认你代码中HTTPS_PORT宏定义的值为标准HTTPS端口443,端口配置错误会直接导致服务端拒绝连接。
  • 修正TLS配置项

    1. 确认你烧录到开发板的是googleapis.com对应的GTS Root R1根证书,不要误用google.com的站点证书,两者根证书链不一致。
    2. 检查tls_setup函数逻辑,确认TLS握手时已正确配置SNI扩展,Server Name字段必须设置为googleapis.com,谷歌CDN会直接拒绝未携带正确SNI的TLS握手请求。
  • 修复地址结构处理逻辑

    你当前代码直接将res->ai_addr强制转换为struct sockaddr_in、硬编码地址长度为sizeof(struct sockaddr_in)的写法存在问题:如果getaddrinfo返回的是IPv6类型的地址,该操作会导致地址、端口配置完全错误。修改为如下逻辑即可:
    // 调用getaddrinfo前优先指定hints参数,强制返回IPv4地址,避免后续强转出错
    struct addrinfo hints = {
        .ai_family = AF_INET,
        .ai_socktype = SOCK_STREAM,
        .ai_protocol = IPPROTO_TCP,
    };
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:48:05