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

Windows下Python脚本遇SSL证书验证失败(无法获取本地颁发者证书)求解决

解决Windows下pyngrok调用set_auth_token时的SSL证书验证失败问题

问题场景

调用pyngrok的set_auth_token方法时,自动下载ngrok安装包触发SSL证书验证错误,核心报错如下:

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)

重装pyngrok后问题仍未解决。

解决方案

方法1:临时禁用SSL验证(仅测试环境使用)

在代码开头添加全局SSL不验证设置,跳过证书检查:

import ssl
# 全局禁用SSL证书验证
ssl._create_default_https_context = ssl._create_unverified_context

from pyngrok import ngrok
ngrok.set_auth_token("你的ngrok_token")

或者通过pyngrok配置单独禁用验证:

from pyngrok import conf, ngrok

# 配置pyngrok不验证SSL
pyngrok_config = conf.PyngrokConfig(ssl_verify=False)
ngrok.set_auth_token("你的ngrok_token", pyngrok_config=pyngrok_config)

方法2:手动下载ngrok并指定路径

跳过自动下载流程,直接使用本地ngrok程序:

  1. 下载对应Windows版本的ngrok程序,解压得到ngrok.exe
  2. 在代码中指定ngrok的本地路径:
from pyngrok import conf, ngrok

# 设置本地ngrok的实际路径
conf.get_default().ngrok_path = "C:/你的路径/ngrok.exe"
ngrok.set_auth_token("你的ngrok_token")

方法3:修复Python的SSL证书(永久解决,推荐)

更新Python的CA证书库,使其信任目标服务器证书:

  1. 获取可信的根CA证书(可从系统证书管理器导出或使用标准CA证书包)
  2. 找到Python安装目录下的Lib\site-packages\certifi\cacert.pem文件
  3. 将根证书内容追加到cacert.pem文件末尾并保存
  4. 或者设置系统环境变量:
    • 打开「系统属性→高级→环境变量」,添加系统变量SSL_CERT_FILE,值为根证书文件的绝对路径
    • 重启Python环境后生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:22:02