我正在使用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()
但这并没有改变任何事情。
你可以通过PYTHONWARNINGS环境变量禁用任何Python警告。在本例中,您需要:
export PYTHONWARNINGS="ignore:Unverified HTTPS request"
使用Python代码禁用(请求>= 2.16.0):
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
对于< 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)
你可以通过PYTHONWARNINGS环境变量禁用任何Python警告。在本例中,您需要:
export PYTHONWARNINGS="ignore:Unverified HTTPS request"
使用Python代码禁用(请求>= 2.16.0):
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
对于< 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)