프로그래밍 언어/Python

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

Rateye 2021. 11. 8. 16:14
728x90
반응형
질문 : InsecureRequestWarning 억제 : Python2.6에서 확인되지 않은 HTTPS 요청이 이루어집니다.

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 코드 사용을 비활성화하려면 ( 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)
출처 : https://stackoverflow.com/questions/27981545/suppress-insecurerequestwarning-unverified-https-request-is-being-made-in-pytho
728x90
반응형