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"
파이썬 코드 ( 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)
답변
이는 2017 년의 해답 urllib3
의 일부가 아닌 requests
이상
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
답변
당 이 github에의 코멘트, 하나는 비활성화 할 수 있습니다 urllib3
통해 요청 경고를 requests
1 라이너 :
requests.packages.urllib3.disable_warnings()
그래야만 모든 경고 가 표시 되지 않습니다 InsecureRequest
(예 : 등도 표시 되지 않음 InsecurePlatform
). 작업이 필요한 경우 간결함이 편리하다는 것을 알았습니다.
답변
올바른 방법은 제공된 링크에서 관련 섹션 을 읽고 표시된 대로 수행하는 것입니다. 의 방법은 특정 requests
(의 복사본과 함께 번들 urllib3
에 따라,) CA 인증서 – 고급 사용법 – 2.8.1 문서를 요청합니다 :
requests
자체 인증서 번들과 함께 제공되지만 모듈과 함께 만 업데이트 할 수 있습니다.- 그것은 (이후 사용
requests
v2.4.0
) 패키지 가 설치되어 대신하는 경우를certifi
HTTPS 인증서 확인 보안 조치는 마음에 들지 않습니다. 중간자 (Man-in-the-middle) 공격 은 바이러스를 감염 시키 거나 데이터를 조작하거나 도용 하는 등의 제 3 자로부터 보호 해줍니다.
네트워크 액세스 를 대상으로 하는 Tailored Access Operations 및 Great Firewall of China 와 같이 오늘날 정부가 지원하는 글로벌 해킹 작업 은 생각보다 가능성이 높습니다.
답변
성급하지 않은 경우, 파이썬의 미확인 HTTPS 경고를 비활성화하는 빠른 방법 :
export PYTHONWARNINGS="ignore:Unverified HTTPS request"
답변
일부 패키지 공급 업체가 자체 urllib3 사본 인 경우 허용되는 답변이 작동하지 않습니다.이 경우 여전히 작동합니다.
import warnings
warnings.filterwarnings('ignore', message='Unverified HTTPS request')
답변
PyVmomi Client와 비슷한 문제가있었습니다. Python 버전 2.7.9에서는 다음 코드 줄을 사용하여이 문제를 해결했습니다.
default_sslContext = ssl._create_unverified_context()
self.client = \
Client(<vcenterip>, username=<username>, password=<passwd>,
sslContext=default_sslContext )
이것이 작동하려면 Python 2.7.9 이상이 필요합니다.
