Настройка системы:
- macOS 10.14.1
- Python 3.7.0
- пункт 18,1
Я написал код, который работал в прошлом, но когда я запускаю его сейчас, я получаю следующую ошибку:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1045)>
Я сталкивался с подобной проблемой раньше, когда пытался использовать запросы для доступа к API, и это не позволяло мне устанавливать соединения через HTTPS. Ошибка не связана с кодом, потому что она работала 6 месяцев назад. Что может быть причиной этого? Что-то с моим сертификатом?
Код, который вызывает моя функция:
url = self.DUST_SERVICE_URL
request_payload = self._args_to_payload(coordinate, radius=radius)
response = self._request("POST", url, data=request_payload,
timeout=timeout)
xml_tree = utils.xml(response.text)
result = SingleDustResult(xml_tree, coordinate)
return commons.FileContainer(result.ext_detail_table(),
show_progress=show_progress)
Этот код из пакета; Я не писал этот код.
Edit:
Полное сообщение об ошибке ниже.
/Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1317, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1229, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1275, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1224, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1016, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 956, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1392, in connect
server_hostname=server_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 412, in wrap_socket
session=session
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 850, in _create
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 1108, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1045)
Если это проблема SSL (это то, о чем я подозреваю), как мне перейти к сбросу системы по умолчанию? Я никогда не баловался с SSL или соединениями, кроме запросов через Python Requests, поэтому я не знаю, как бы я что-то изменил.