在使用 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)