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

Win10 Python3.5下requests访问google.com报SSL证书验证失败如何解决

问题解决方案

方案1:升级Python版本(优先推荐)

  • 你当前使用的Python 3.5.0已于2020年停止官方维护,最新版本的requests、pyOpenSSL、certifi等依赖包不再对3.5版本做兼容性适配,这是导致证书校验失败的核心原因。
  • 升级到Python 3.8及以上稳定版本后,重新安装所有依赖包即可解决90%以上的这类兼容性问题。

方案2:同步certifi根证书到系统最新根证书(适合暂时无法升级Python的场景)

  • 首先找到当前Python环境的certifi证书存储路径,运行以下代码即可打印路径:
import certifi
print(certifi.where())
  • 导出Windows系统内置的根证书集合:按下Win+R输入certmgr.msc打开证书管理器,展开「受信任的根证书颁发机构」→「证书」,导出所有根证书为Base64编码的X.509格式单个文件。
  • 用导出的系统根证书文件,完全替换掉刚才打印出的certifi证书文件即可,后续所有调用requests的请求都会自动使用最新的系统根证书校验。

方案3:全局修改requests默认校验规则(临时应急方案,不推荐长期使用)

  • 如果你不需要修改业务代码,可在脚本最开头添加以下代码,全局关闭requests的SSL校验,同时关闭相关警告:
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 全局关闭SSL校验相关警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
# 重写默认session的请求逻辑,强制添加verify=False参数
old_request = requests.Session.request
def new_request(*args, **kwargs):
    kwargs['verify'] = False
    return old_request(*args, **kwargs)
requests.Session.request = new_request
  • 这段代码会劫持所有requests的请求默认参数,包括google-auth-oauthlib内部调用的请求,不需要修改原有业务代码即可生效。

方案4:卸载pyOpenSSL回退到系统原生SSL处理

  • urllib3会优先使用安装的pyOpenSSL做SSL处理,你可以直接卸载pyOpenSSL,让urllib3回退使用Python标准库自带的ssl模块处理SSL请求,兼容性会更好:
pip uninstall pyopenssl -y
  • 卸载后重新运行测试代码验证即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:48:00