반응형
질문
나는 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: 확인되지 않은 HTTPS 요청이 수행됩니다. 인증서 확인을 추가하는 것이 강력히 권장됩니다. 자세한 내용은 다음을 참조하십시오: 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()
를 수행해도 작동하지 않는 이유는 requests 내에 포함된 별도의 urllib3 인스턴스를 사용하고 있기 때문입니다.
다음 경로를 기반으로 이를 추론하였습니다: /usr/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py
requests의 urllib3에서 경고를 비활성화하려면 해당 모듈의 특정 인스턴스를 가져와야 합니다:
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
반응형
댓글