我正在 Python2.6 中使用pyVmomi并使用其中一种连接方法编写脚本:
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()
但这并没有改变任何东西。
PYTHONWARNINGS您可以通过环境变量禁用任何 Python 警告。在这种情况下,您需要:
PYTHONWARNINGS
export PYTHONWARNINGS="ignore:Unverified HTTPS request"
要禁用使用 Python 代码 ( requests >= 2.16.0):
requests >= 2.16.0
import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
对于requests < 2.16.0,请参阅下面的原始答案。
requests < 2.16.0
原始答案
这样做urllib3.disable_warnings()对您不起作用的原因是因为看起来您正在使用请求中提供的单独的 urllib3 实例。
urllib3.disable_warnings()
我根据这里的路径收集了这个:/usr/lib/python2.6/site- packages/requests/packages/urllib3/connectionpool.py
/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)