在使用 requests 库进行网络请求时,有时你可能会遇到 SSL 证书错误,特别是在测试环境中。本文将介绍如何通过 verify=False 参数来忽略 SSL 证书错误,并提供禁用警告的方法。

忽略证书验证

使用 requests.get() 方法,并设置 verify=False 参数,可以轻松绕过 SSL 证书验证。以下是一个简单的代码示例:

如果你设置 verify=False ,requests 会跳过验证服务器的 SSL 证书;虽然这样可以让请求成功,但由于无法确认服务器的合法性,可能会导致数据被中间人攻击或其他安全风险。因此,urllib3 会发出 InsecureRequestWarning,提醒开发者请求是不安全的,数据传输可能被篡改或截获。

import requests

# 忽略 SSL 证书错误
response = requests.get('https://example.com', verify=False)

print(response.status_code)

禁用安全警告

为了防止出现安全警告,您可以使用 urllib3 禁用警告:

为什么要使用 urllib3

因为 requests 库是基于 urllib3 构建的,requests 本质上是对 urllib3 的一个高级封装。

from requests.packages.urllib3.exceptions import InsecureRequestWarning

# 禁用 InsecureRequestWarning 警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)