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

调用API时出现SSL_Certificate错误的原因排查

问题结论

这个问题有较高概率和防火墙、网络代理类网络因素有关,但也存在其他可复现的本地原因。

核心原因说明

正常情况下Python requests 库会依赖内置的certifi根证书库,校验目标服务器返回的SSL证书的签发方可信度、域名匹配度、有效期,全部校验通过才会建立加密连接。
设置verify=False可以绕过所有SSL校验流程直接建立连接,出现这种报错的最常见触发场景就是HTTPS流量被中间网络设备劫持重签:

  • 企业防火墙、上网行为管理系统、办公VPN网关这类设备常会开启HTTPS流量审计功能,会拦截所有出站HTTPS请求:设备先代替客户端和目标服务器(HERE Maps)建立合法连接,再给客户端返回一张由设备私有CA签发的域名匹配证书,实现流量解密、审计、再加密转发的流程。
  • 这张由私有CA签发的证书不在requests默认信任的根证书列表里,自然会抛出SSL证书验证失败的错误。
其他可触发同类报错的非网络原因
  • 本地Python环境的certifi根证书库版本过旧,没有收录HERE Maps当前使用的根CA证书,可先执行pip install --upgrade certifi 升级后重试排除该问题
  • 本地设备系统时间偏差过大,超出目标服务器SSL证书的有效时间范围,导致证书有效期校验失败
  • 本地hosts文件被篡改,API请求被指向非官方的第三方站点,返回的证书域名不匹配
注意事项

强烈不建议长期使用verify=False配置,该配置会完全关闭SSL安全校验,传输的API密钥、位置数据等敏感信息存在被窃听、篡改的风险。
如果确认是企业内网防火墙/代理导致的问题,正确的处理方式是联系网络管理员获取对应私有CA的根证书文件,发起请求时将证书路径传入verify参数即可正常调用,示例:

import requests
resp = requests.get("https://here.maps.api.endpoint", verify="/path/to/private-ca.crt")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 18:09:16