Форум сайта python.su
Здравствуйте
не понимаю в чем проблема
from kanboard import Kanboard
kb = Kanboard(url="http://localhost/jsonrpc.php",
username="jsonrpc",
password="your_api_token")
r=kb.get_my_projects()
print (r)
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 853, in _create
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 1117, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/kanboard/client.py", line 101, in _do_request
response = http.urlopen(request).read()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 525, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 543, in _open
'_open', req)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1360, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1319, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/MillerProduction/Documents/coding/python/kanboard_tgbot/test.py", line 4, in <module>
r=kb.get_my_projects()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/kanboard/client.py", line 72, in function
return self.execute(method=self._to_camel_case(name), **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/kanboard/client.py", line 135, in execute
return self._do_request(headers, payload)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/kanboard/client.py", line 103, in _do_request
raise exceptions.KanboardClientException(str(e))
kanboard.exceptions.KanboardClientException: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>
Отредактировано AndrewMelnyk (Июль 25, 2019 13:51:14)
Офлайн
ну тут явно не соответствие вашего примера и ошибке. Вы наверняка отправляете не на http://localhost, а куда нибудь https://address. Потому что requests строит запрос с https.
Фраза “certificate verify failed: unable to get local issuer certificate” гуглится достаточно хорошо. Два решения 1) плохое - отключить проверку сертификатов 2) подцепить нужный сертификат (тут варианты дествий как именно)
Офлайн
исправил эту ошибку, но теперь выдает другую
код:
import socket
import ssl
HOST = "board.rgray.io"
PORT = 443
HOST = socket.getaddrinfo(HOST, PORT)[0][4][0]
print(HOST)
sock = socket.socket()
sock.connect((HOST, PORT))
sock = ssl.wrap_socket(sock,
cert_reqs=ssl.CERT_REQUIRED,
ca_certs='/Users/MillerProduction/Desktop/certificate.pem'
)
ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1056)
Офлайн