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

Python调用API报CERTIFICATE VERIFY FAILED证书过期错误如何解决

问题原因

  • 报错明确指向SSL证书验证失败,核心原因是目标API站点v1.basketball.api-sports.io的SSL证书近期过期,或是站点更新证书后证书链配置不完整。
  • 你之前安装系统级证书未生效,是因为Anaconda环境下的Python默认使用自带的CA证书包,不读取系统证书库,所以系统证书更新无法同步到Python环境。

解决方案

  • 方案1:更新Python环境CA证书(最推荐,无安全风险)

    如果你使用conda虚拟环境,激活对应环境后执行命令:
    conda update ca-certificates
    如果使用pip管理依赖,执行命令:
    pip install --upgrade certifi
    升级完成后重新运行代码即可。

  • 方案2:临时跳过证书验证(仅推荐测试使用,生产环境禁止使用)

    手动创建不校验证书的SSL上下文传入HTTPSConnection,修改后代码如下:

    import http.client
    import ssl
    
    # 构造跳过证书验证的上下文
    context = ssl._create_unverified_context()
    conn = http.client.HTTPSConnection("v1.basketball.api-sports.io", context=context)
    
    headers = {
        'x-rapidapi-host': "v1.basketball.api-sports.io",
        'x-rapidapi-key': "XxXxXxXxXxXxXxXxXxXxXxXx"
        }
    
    conn.request("GET", "/games?date=2019-11-23", headers=headers)
    
    res = conn.getresponse()
    data = res.read()
    
    print(data.decode("utf-8"))
    
  • 方案3:手动指定合法证书

    如果你确认目标站点证书合法,可手动导出站点的有效SSL证书,在代码中指定证书路径验证:

    import http.client
    import ssl
    
    # 替换为你本地保存的证书文件路径
    context = ssl.create_default_context(cafile="./api_sports_io.crt")
    conn = http.client.HTTPSConnection("v1.basketball.api-sports.io", context=context)
    

内容的提问来源于stack exchange,提问作者Boröom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:18:01