如何在请求HTTPS调用中禁止有关缺少证书验证的警告?

WoJ*_*WoJ 1 python https suppress-warnings python-3.x python-requests

我想在HTTPS调用中禁用有关缺少证书验证的警告requests.

过去已经提出过这个问题,导致有关禁用相关请求记录urllib3SSL警告的答案.

过去这曾经工作过(我记得成功地消除了警告)但似乎不再起作用了?

我把迄今为止起作用的两个解决方案放在一起:

Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170124] on linux
>>> import requests
>>> import requests.packages
>>> import urllib3
>>> urllib3.disable_warnings()
>>> requests.packages.urllib3.disable_warnings()
>>> requests.get('https://www.google.com', verify=False)
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning)
<Response [200]>
Run Code Online (Sandbox Code Playgroud)

是否有其他(当前)解决方案来消除这些警告?

小智 11

而不是使用
requests.packages.urllib3.disable_warnings()

使用
requests.urllib3.disable_warnings()


小智 7

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
Run Code Online (Sandbox Code Playgroud)

有两种不同的方法可以完成这两项工作.您必须将此添加到导入中

from requests.packages.urllib3.exceptions import InsecureRequestWarning
Run Code Online (Sandbox Code Playgroud)

  • 您可以在一行中完成所有操作,无需额外的“导入”:``requests.packages.urllib3.disable_warnings(requests.packages.urllib3.exceptions.InsecureRequestWarning)```` (5认同)