Python中requests库添加verify参数仍然报错怎么办?

我在请求网址的时候报了错误,官方文档说添加 verify="证书路径",可程序依然报错····

微信截图_20190227184852.png 微信截图_20190227184958.png

verify=False 也不行~~


Python中requests库添加verify参数仍然报错怎么办?

18 回复

发个图这么难


遇到 requests 库添加了 verify=False 参数后仍然报 SSL 相关错误的情况,通常是因为底层依赖的 urllib3 或系统环境有其他限制。核心解决思路是彻底禁用证书验证,并处理相关的警告。

直接上代码,这是最直接的解决方案:

import requests
import urllib3

# 1. 彻底禁用SSL警告(避免输出烦人的警告信息)
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

# 2. 发起请求时,同时禁用证书验证并指定不验证主机名
response = requests.get(
    'https://your-target-url.com',
    verify=False,          # 核心:不验证SSL证书
    timeout=10
)

# 3. 可选:如果环境有严格的代理或SSL配置冲突,可尝试创建自定义会话
session = requests.Session()
session.verify = False
response = session.get('https://your-target-url.com', timeout=10)

print(response.status_code)
print(response.text[:500])  # 打印前500字符查看结果

关键点解释:

  • urllib3.disable_warnings() 是必须的,否则控制台会刷 InsecureRequestWarning
  • verify=Falserequests 层面的主要开关。
  • 某些环境(如公司内网、旧系统)可能因系统证书库问题导致深层错误,此时可尝试更新 certifi 包 (pip install --upgrade certifi),但你的情况既然想彻底跳过验证,上面的代码就够了。
  • 如果还不行,检查是否被中间件(如防病毒软件、网络代理)拦截,这不是代码能解决的。

一句话总结:urllib3.disable_warnings() 配合 verify=False 基本能搞定。

verify=False

verify=False 没有效果

好想要你的高清头像。。。

看报错这并不是证书错误,像是 tls 握手无法完成,你先确定用浏览器和 curl 都能正常访问这个地址再说吧

我可以发给你阿

可以正常访问, 在浏览器中访问时会有弹出框来确认证书

<img src=“https://i.loli.net/2019/02/28/5c7749ff32c3a.png” alt=“QQ 截图 20190228103914.png” title=“QQ 截图 20190228103914.png” />

你这个应该是要求验证客户端证书了吧,可能 requests 是真的不支持这种模式

的确是客户端证书···

谢谢呀 那你发到图床上贴出来吧



<img src=“https://i.loli.net/2019/02/28/5c775d2ca5268.png” alt=“0.0.png” title=“0.0.png” />

不知道在这里能不能显示,点开链接应该能看到

pyhon ssl 要装好多个包的 没装就容易这样

python-pyasn1 pyOpenSSL
还有几个的忘记了

还有一个 ndg-httpsclient

ssl 在 python 2.7.9 以下会有些麻烦 少包就出错

我这里是 Python 3.6.7, 这看起来不像是包的问题吧

我查了很多资料,结果基本一直,就是要加 verify 参数,可在我这里没有效果

requetst 官方文档 是支持客户端证书的
http://docs.python-requests.org/zh_CN/latest/user/advanced.html
https://www.jianshu.com/p/e42005d48929
https://blog.csdn.net/jojoy_tester/article/details/71102174

我在 win10 下导出的证书格式是 .cer ,为什么没有 .cert 或 .pem 或 .crt ?

#15 你贴的链接里也说到了,客户端证书需要用 cert 参数,指向客户端证书和私钥的路径。verify 是验证服务端证书的。

http://docs.python-requests.org/zh_CN/latest/user/advanced.html#id4

是的我注意到了,我也尝试过了,没有效果

回到顶部