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 证书验证警告,因为这可能会降低通信的安全性。

posted @   槑孒  阅读(1491)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2022-08-04 Linux下tar命令
点击右上角即可分享
微信分享提示