抑制 InsecureRequestWarning: Unverified HTTPS request is being made in Python2.6

新手上路,请多包涵

我正在使用 pyVmomi 并使用其中一种连接方法在 Python2.6 中编写脚本:

 service_instance = connect.SmartConnect(host=args.ip,
                                        user=args.user,
                                        pwd=args.password)

我收到以下警告:

 /usr/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py:734: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)

有趣的是,我没有使用 pip 安装 urllib3(但它在 /usr/lib/python2.6/site-packages/requests/packages/urllib3/ 中)。

我已经按照 这里 的建议尝试了

import urllib3
...
urllib3.disable_warnings()

但这并没有改变任何东西。

原文由 Patryk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 894
2 个回答

您可以通过 PYTHONWARNINGS 环境变量禁用任何 Python 警告。在这种情况下,您想要:

 export PYTHONWARNINGS="ignore:Unverified HTTPS request"

要禁用 Python 代码 ( requests >= 2.16.0 ):

 import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

对于 requests < 2.16.0 ,请参阅下面的原始答案。

原答案

urllib3.disable_warnings() 对你不起作用的原因是因为看起来你正在使用请求内部供应的单独的 urllib3 实例。

我根据此处的路径收集此信息: /usr/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py

要在请求的供应商 urllib3 中禁用警告,您需要导入该模块的特定实例:

 import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning

requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

原文由 shazow 发布,翻译遵循 CC BY-SA 4.0 许可协议

这是2017年的答案 urllib3 不再是—的一部分 requests

 import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

原文由 Nayana Adassuriya 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题