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

Windows环境下企业WiFi中requests请求SSL证书验证失败求助

证书验证失败问题求助

执行HTTP请求时遇到以下错误:

certificate verify failed: unable to get local issuer certificate (_ssl.c:992)

仅在连接公司WiFi时出现该错误,切换到手机网络则正常,推测是公司网络相关问题,求可行的解决办法。

我找到过一个解决方案,但看起来是针对MAC系统的,无法适配我的情况;还尝试过另一种方案,但没有效果。

我的运行环境是Windows系统,示例代码如下:

import requests

URL = f"https://www.amazon.com.br/"
response = requests.get(URL)
print(response)

尝试过的无效方案代码:

import requests
import ssl

ssl._create_default_https_context = ssl._create_unverified_context

URL = f"https://www.amazon.com.br/"
response = requests.get(URL)
print(response)

可行解决办法

1. 导入公司网络的根证书到系统信任库

公司WiFi通常会部署代理或SSL拦截设备,会生成专属的根证书,需将该证书导入Windows系统信任列表:

  • 联系公司IT部门获取内部根证书文件(通常为.crt或.pem格式)
  • 双击证书文件,点击「安装证书」
  • 选择「本地计算机」,点击「下一步」
  • 选择「将所有证书放入下列存储」,点击「浏览」,选中「受信任的根证书颁发机构」
  • 完成导入后重启Python环境,再测试请求

2. 给requests指定证书路径

如果不想修改系统信任库,可在requests请求中直接指定公司根证书的路径:

import requests

URL = "https://www.amazon.com.br/"
# 替换为你的公司根证书实际文件路径
response = requests.get(URL, verify="C:/path/to/company-root-cert.crt")
print(response)

3. 临时跳过证书验证(不推荐,仅测试用)

如果上述方法无法实施,可临时关闭requests的证书验证(存在安全风险,禁止用于生产环境):

import requests

URL = "https://www.amazon.com.br/"
response = requests.get(URL, verify=False)
print(response)

若使用verify=False仍报错,大概率是公司代理做了额外拦截,需同时配置代理信息(可向IT部门获取代理地址和端口):

import requests

proxies = {
    "http": "http://company-proxy:port",
    "https": "http://company-proxy:port",
}
URL = "https://www.amazon.com.br/"
response = requests.get(URL, verify=False, proxies=proxies)
print(response)

内容的提问来源于stack exchange,提问作者Victor Hugo yoshio penha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:05:06