InsecureRequestWarning 억제 : 파이썬 2.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"
파이썬 코드 ( 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"
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 이상이 필요합니다.
왜 pyvmomi 사용하지 원래의 기능을 SmartConnectNoSSL
. 그들은 추가 에이 기능을 June 14, 2016
과 이름 ConnectNoSSL
, 일일 후 가로 이름을 변경 SmartConnectNoSSL
하는 대신 그 프로젝트에서 코드의 불필요한 라인 경고를 전달하여, 사용?
SSL 확인없이 지정된 서버에 연결하기위한 표준 방법을 제공합니다. 자체 서명 된 인증서가있는 서버에 연결하거나 SSL을 모두 무시하려는 경우에 유용합니다.
service_instance = connect.SmartConnectNoSSL(host=args.ip,
user=args.user,
pwd=args.password)
들어 파이썬 2.7
환경 변수 PYTHONWARNINGS를 키로 추가하고 다음과 같이 해당 값을 무시하십시오.
os.environ['PYTHONWARNINGS']="ignore:Unverified HTTPS request"
일부 패키지 공급 업체가 자신의 urllib3 사본 인 경우 허용되는 답변이 작동하지 않습니다.
import warnings
warnings.filterwarnings('ignore', message='Unverified HTTPS request')
MacBook의 문제가 해결되었습니다.
pip install certifi
또는
pip3 install certifi
'IT' 카테고리의 다른 글
비 대화식으로 psql에 암호를 지정하려면 어떻게해야합니까? (0) | 2020.03.27 |
---|---|
변경된 입력 텍스트 상자 감지 (0) | 2020.03.27 |
https.request를 사용하여 node.js에서 잘못된 자체 서명 SSL 인증서를 무시합니까? (0) | 2020.03.27 |
레일 : 콘솔에서 경로 도우미의 출력 확인 (0) | 2020.03.26 |
새 페이지에서 경로를 변경해도 맨 위로 스크롤되지 않습니다 (0) | 2020.03.26 |