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

Windows下Anaconda环境Requests SSL证书验证失败问题求助

解决Windows+Anaconda下Requests访问SeatGeek API的SSL证书验证失败问题

我之前也碰到过类似的SSL证书坑,直接设verify=False确实能临时绕过去,但这相当于关掉了安全验证,很容易遭中间人攻击,所以还是得把证书配置好才稳妥。下面一步步教你怎么操作:

第一步:获取SeatGeek API的SSL证书

  1. 打开浏览器,访问你的目标API地址(记得替换成自己的MYCLIENTID):https://api.seatgeek.com/2/events?client_id=MYCLIENTID
  2. 点击地址栏左侧的锁形图标,选择「证书」选项
  3. 在弹出的证书窗口里切换到「详细信息」标签页,点击「复制到文件」
  4. 跟着证书导出向导走,选择「Base64编码的X.509(.CER)」格式,给证书起个名字(比如seatgeek.pem),保存到一个你能快速找到的路径,比如C:\anaconda3\custom_certs\seatgeek.pem

第二步:配置证书让Requests能识别

有两种配置方式,你可以选适合自己的:

方式一:单次请求指定证书

每次调用API时,直接把证书路径传给verify参数就行:

import requests

url = "https://api.seatgeek.com/2/events?client_id=MYCLIENTID"
response = requests.get(url, verify="C:\anaconda3\custom_certs\seatgeek.pem")
print(response.status_code)  # 正常情况会返回200

方式二:全局配置(一劳永逸)

如果不想每次请求都写证书路径,可以把证书加到Anaconda环境的根证书列表里:

  1. 先找到Anaconda环境中certifi包的cacert.pem路径。你可以在Python里运行下面的代码得到路径:
    import certifi
    print(certifi.where())
    
    输出大概是这种格式:C:\Users\你的用户名\.conda\envs\你的环境名\Lib\site-packages\certifi\cacert.pem
  2. 用文本编辑器打开你刚才下载的seatgeek.pem,把里面的所有内容复制下来
  3. 打开cacert.pem文件,把复制的证书内容粘贴到文件的末尾,保存退出
  4. 现在再运行requests.get(url, verify=True),应该就能正常返回200了

额外提醒

  • 不要长期用verify=False,这会让你的请求失去SSL证书验证的保护,风险很高
  • 如果你之后更新了certifi包,记得重复上面的全局配置步骤,因为更新会覆盖cacert.pem文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:14:40