Python无法验证ssl证书怎么解决

admin 百科 15
Python请求HTTPS报SSL验证失败应优先修复证书环境:更新系统CA证书、升级certifi库、确认证书路径正确;仅开发时可临时禁用验证,生产环境严禁;自签名证书需手动添加至信任链。

Python无法验证ssl证书怎么解决-第1张图片-佛山资讯网

Python请求HTTPS网站时提示SSL证书验证失败,通常是因为系统缺少根证书、证书过期、或使用了自签名证书。最安全的做法是修复证书环境,而不是直接禁用验证。

检查系统证书存储是否正常

Python依赖操作系统的CA证书包(如Linux的ca-certificates、macOS的Keychain、Windows的证书管理器)。如果系统证书过期或损坏,requests/urllib会报错。

  • Linux用户可运行 sudo update-ca-certificates 更新证书
  • macOS用户可打开“钥匙串访问”,搜索“DST Root CA X3”或“ISRG Root X1”,确认未被手动禁用
  • Windows用户可运行 certmgr.msc 检查“受信任的根证书颁发机构”列表是否完整

升级Python和相关库

旧版本Python(如3.6以下)或过时的certifi包可能不包含最新根证书。

  • 升级certifi:pip install --upgrade certifi
  • 检查certifi路径:python -c "import certifi; print(certifi.where())",确认返回的是有效PEM文件路径
  • 必要时手动指定证书路径:requests.get(url, verify="/path/to/certifi/cacert.pem")

临时绕过验证(仅限开发/测试)

生产环境严禁跳过SSL验证。若仅为本地调试,可用以下方式临时关闭校验:

标签: linux python windows 操作系统 ssl mac ai macos 环境变量 win cos

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~