如何解决通过 python3 requests.exceptions.SSLError 访问 phabricator 的问题
...
from phabricator import Phabricator
phab = Phabricator(host='https://<URL>:8090/',token='api-token')
phab.user.whoami()
...
我收到以下错误:
user@prompt:/var/lib/jenkins/scripts/basics$ python3 test_phabricator.py
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py",line 485,in wrap_socket
cnx.do_handshake()
File "/home/ggopal/.local/lib/python3.8/site-packages/OpenSSL/SSL.py",line 1828,in do_handshake
self._raise_ssl_error(self._ssl,result)
File "/home/ggopal/.local/lib/python3.8/site-packages/OpenSSL/SSL.py",line 1566,in _raise_ssl_error
_raise_current_error()
File "/home/ggopal/.local/lib/python3.8/site-packages/OpenSSL/_util.py",line 57,in exception_from_error_queue
raise exception_type(errors)
OpenSSL.SSL.Error: [('SSL routines','tls_process_server_certificate','certificate verify failed')]
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py",line 665,in urlopen
httplib_response = self._make_request(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py",line 376,in _make_request
self._validate_conn(conn)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py",line 996,in _validate_conn
conn.connect()
File "/usr/lib/python3/dist-packages/urllib3/connection.py",line 366,in connect
self.sock = ssl_wrap_socket(
File "/usr/lib/python3/dist-packages/urllib3/util/ssl_.py",line 370,in ssl_wrap_socket
return context.wrap_socket(sock,server_hostname=server_hostname)
File "/usr/lib/python3/dist-packages/urllib3/contrib/pyopenssl.py",line 491,in wrap_socket
raise ssl.SSLError("bad handshake: %r" % e)
ssl.SSLError: ("bad handshake: Error([('SSL routines','certificate verify failed')])",)
在处理上述异常的过程中,又发生了一个异常:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py",line 439,in send
resp = conn.urlopen(
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py",line 719,in urlopen
retries = retries.increment(
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py",line 436,in increment
raise MaxRetryError(_pool,url,error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='URL',port=8090): Max retries exceeded with url: /user.whoami (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines','certificate verify failed')])")))
在处理上述异常的过程中,又发生了一个异常:
Traceback (most recent call last):
File "test_phabricator.py",line 4,in <module>
phab.user.whoami()
File "/home/ggopal/.local/lib/python3.8/site-packages/phabricator/__init__.py",line 253,in __call__
return self._request(**kwargs)
File "/home/ggopal/.local/lib/python3.8/site-packages/phabricator/__init__.py",line 307,in _request
response = requests.post(path,data=body,headers=headers,timeout=self.api.timeout)
File "/usr/lib/python3/dist-packages/requests/api.py",line 116,in post
return request('post',data=data,json=json,**kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py",line 60,in request
return session.request(method=method,url=url,**kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py",line 533,in request
resp = self.send(prep,**send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py",line 646,in send
r = adapter.send(request,**kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py",line 514,in send
raise SSLError(e,request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='URL','certificate verify failed')])")))
有解决问题的方法吗?我似乎某些基本身份验证失败了,因为这是访问 phabricator 的基本命令。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。