📜  python 请求忽略 SSL - Python (1)

📅  最后修改于: 2023-12-03 15:04:18.784000             🧑  作者: Mango

Python请求忽略SSL

在进行Python程序开发时,我们经常会使用requests库进行HTTP请求。然而有些网站使用了自签名的证书,虽然是https协议,但是会导致requests库无法正常工作,会出现SSL认证错误。

解决这个问题的方法是在requests库中添加忽略SSL验证的参数。忽略SSL验证的原理是将requests库的SSL验证设为False。

下面是一个简单的例子:

import requests

url = "https://example.com"
response = requests.get(url, verify=False)
print(response.text)

其中的 verify 参数设置为False 就是控制 requests 不去检查 SSL 证书,requests 在请求时会跳过 SSL 验证,所以使用不安全,存在安全性风险。

为了保护个人隐私安全,我们建议使用 requests.Session 中的一个一劳永逸的方法来实现全局 SSL 验证关闭:

import requests

s = requests.Session()
s.verify = False
s.get('https://example.com')

这个方法将 requests 在单个 Session 中的所有请求都忽略了 SSL 验证。

但是,这种方法在启用统一资源定位符(URL)验证时会导致安全问题,因为会通过 URL 的所有详细信息来验证请求,而不仅仅是主机名和端口。

因此,为了安全起见,我们建议使用第一种方法,只针对具体的请求忽略 SSL 验证。

至此,我们就通过以上两个方法,实现了 Python 程序请求忽略 SSL 验证。