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 证书验证警告,因为这可能会降低通信的安全性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2022-08-04 Linux下tar命令