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

如何解决Python urllib出现的[SSL: CERTIFICATE_VERIFY_FAILED]错误?

解决urllib.request.urlopen的SSL证书过期错误(非敏感数据场景)

针对你遇到的SSL: CERTIFICATE_VERIFY_FAILED证书过期错误,结合你处理非敏感数据的需求,提供以下两种解决方案:

方法一:跳过SSL证书验证(快速规避)

直接绕过证书验证逻辑,适用于非敏感数据请求:

from urllib.request import urlopen, HTTPSHandler, build_opener
import ssl

# 创建不验证SSL证书的上下文
context = ssl._create_unverified_context()
# 构建自定义opener并发起请求
opener = build_opener(HTTPSHandler(context=context))
url = 'https://www.example.com/api/ect...'
response = opener.open(url)

注意:此方法会关闭SSL证书校验,绝对不能用于涉及用户隐私、支付等敏感数据的请求,仅适合测试或非敏感数据场景。

方法二:更新根证书(更安全的修复)

如果希望保留SSL验证机制,可以尝试更新本地根证书:

  • Windows/macOS:更新系统自带的根证书库,Python会自动调用系统证书进行校验。
  • Linux:通过包管理器重新安装证书包,以Debian/Ubuntu为例:
    sudo apt update && sudo apt install --reinstall ca-certificates
    
  • 也可以手动指定信任的证书文件:
    from urllib.request import urlopen, HTTPSHandler, build_opener
    import ssl
    
    context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
    # 替换为你的有效证书文件路径
    context.load_verify_locations('/path/to/valid/certificate.pem')
    opener = build_opener(HTTPSHandler(context=context))
    response = opener.open(url)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 21:05:57