Python | requests 模块忽略 SSL 证书验证警告
一、场景复现
InsecureRequestWarning: Unverified HTTPS request is being made to host 'ibbb.me'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings

二、解决方法
1. 禁用不安全请求警告
可以通过禁用 InsecureRequestWarning 来忽略 SSL 证书验证警告。这在 requests 模块中是可能的,下面是一个示例:
import requests
import urllib3
# 禁用 InsecureRequestWarning
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
response = requests.get('https://127.0.0.1', verify=False)
print(response.text)
2. 创建一个会话并全局禁用警告
可以创建一个 requests 会话对象,并在该会话中全局禁用 SSL 证书验证警告:
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 禁用 InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
# 创建一个会话对象
session = requests.Session()
session.verify = False
response = session.get('https://127.0.0.1')
print(response.text)
3. 使用上下文管理器
如果只想在某个特定的代码块中禁用 SSL 证书验证警告,可以使用上下文管理器来实现:
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 禁用 InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
with requests.Session() as session:
response = session.get('https://127.0.0.1', verify=False)
print(response.text)
以上几种方法都能有效地在使用 requests 模块时忽略 SSL 证书验证警告。
请注意,在生产环境中,不建议忽略 SSL 证书验证警告,因为这可能会降低通信的安全性。

浙公网安备 33010602011771号