반응형
from http.client import HTTPSConnection
from base64 import b64encode
# Create HTTPS connection
c = HTTPSConnection("0.0.0.0")
# encode as Base64
# decode to ascii (python3 stores as byte string, need to pass as ascii
value for auth)
username_password = b64encode(b"admin:password").decode("ascii")
headers = {'Authorization': 'Basic {0}'.format(username_password)}
# connect and ask for resource
c.request('GET', '/api/config/v1/aaa/users', headers=headers)
# response
res = c.getresponse()
data = res.read()
그러나 다음과 같은 오류가 계속 발생합니다.
Traceback (most recent call last):
File "/Users/finaris/PycharmProjects/test/test/test.py", line 14, in <module>
c.request('GET', '/api/config/v1/aaa/users', headers=headers)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 1106, in request
self._send_request(method, url, body, headers)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 1151, in _send_request
self.endheaders(body)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 1102, in endheaders
self._send_output(message_body)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 934, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 877, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/http/client.py", line 1260, in connect
server_hostname=server_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/ssl.py", line 377, in wrap_socket
_context=self)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/ssl.py", line 752, in __init__
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/ssl.py", line 988, in do_handshake
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/ssl.py", line 633, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:645)
또한 OpenSSL을 업데이트하려고 시도했지만 효과가 없었습니다.
해결 방법
나는 똑같은 오류가 있었고 Google이 저 에게이 질문을 가져 왔으므로 비슷한 상황에있는 다른 사람들에게 도움이되기를 바라면서 제가 한 일입니다.
이는 OS X에 적용됩니다.
내가 가지고있는 OpenSSL 버전을 터미널에서 확인하십시오.
$ python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
>> OpenSSL 0.9.8zh 14 Jan 2016
내 OpenSSL 버전이 너무 오래 되었기 때문에 수락 된 답변이 작동하지 않았습니다.
$ brew update
$ brew install openssl
$ brew install python3
그런 다음 사용중인 PATH 및 Python 버전에 문제가 발생하여 최신 버전의 Python을 가져 왔는지 확인하는 새로운 virtualenv
를 만들었습니다.
$ virtualenv webapp --python=python3.6
문제가 해결되었습니다.
참조 페이지 https://stackoverflow.com/questions/44316292
반응형
'파이썬' 카테고리의 다른 글
파이썬 grangercausalitytests에서 "LinAlgError : Singular matrix"가 표시되는 이유는 무엇입니까? (0) | 2020.10.20 |
---|---|
파이썬 변수로 파이썬 함수 호출 (0) | 2020.10.20 |
파이썬 Python에서 CSV를 HTML 테이블로 변환 (0) | 2020.10.20 |
파이썬에서 %의 결과는 무엇입니까? (0) | 2020.10.20 |
파이썬 Jupyter 노트북 : 위젯이있는 대화 형 플롯 (0) | 2020.10.20 |
댓글