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

使用Python Requests库遇到SSL错误的解决求助

解决Python requests库的SSL证书验证失败问题

1. 指定本地CA证书文件

如果目标API使用自签名证书或自定义CA,直接指定CA证书文件路径即可:

import requests

url = 'https://example.com/api/data'
# 替换为你的CA证书文件路径(支持.pem或.crt格式)
response = requests.get(url, verify='/path/to/your/ca-cert.pem')

print(response.text)

2. 让requests使用系统CA证书存储

有时Python的certifi包与系统CA证书不同步,可尝试让requests调用系统级证书:

  • Linux/macOS:先设置环境变量,再运行脚本:
    export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
    python your_script.py
    
  • Windows:通过C:\Windows\System32\certmgr.msc导出系统CA证书,设置环境变量REQUESTS_CA_BUNDLE指向该证书文件路径,再执行脚本。

3. 检查目标API的证书链完整性

用openssl命令验证API的证书链是否完整:

openssl s_client -connect example.com:443 -showcerts

如果输出显示证书链缺失,要么联系API提供者修复证书配置,要么手动下载缺失的中间证书,合并到你的CA证书文件后再使用。

4. 排查verify=False不生效的原因

如果设置verify=False仍报错,可能是以下情况:

  • 代码中全局Session的设置覆盖了单个请求参数,比如:
    session = requests.Session()
    session.verify = True  # 该设置会覆盖单个请求的verify=False
    
  • 环境变量REQUESTS_CA_BUNDLE或CURL_CA_BUNDLE已被设置,导致verify=False被忽略,可暂时取消这些环境变量后再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:50:03