InsecureRequestWarning を抑制: Python2.6 で検証されていない HTTPS リクエストが行われている 質問する

InsecureRequestWarning を抑制: Python2.6 で検証されていない HTTPS リクエストが行われている 質問する

私は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()

しかし、何も変わりませんでした。

ベストアンサー1

環境変数を介して Python の警告を無効にすることができますPYTHONWARNINGS。この場合、次のようになります。

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)

おすすめ記事