2016-12-09 83 views
0

由於3天前的Pushbullet Kodi addon停止工作,引發此錯誤:Pushbullet和EOF發生違反協議(_ssl.c:590)的

EOF發生違反協議(_ssl.c:590)

GET通過httplib2完成,您可以看到簡單代碼there

奇怪的是,還與OpenSSL的CLI我得到錯誤:

$ openssl s_client -connect api.pushbullet.com:443    
CONNECTED(00000003) 
140625036449432:error:140790E5:SSL routines:ssl23_write:ssl handshake failure:s23_lib.c:177: 
--- 
no peer certificate available 
--- 
No client certificate CA names sent 
--- 
SSL handshake has read 0 bytes and written 307 bytes 
--- 
New, (NONE), Cipher is (NONE) 
Secure Renegotiation IS NOT supported 
Compression: NONE 
Expansion: NONE 
No ALPN negotiated 
SSL-Session: 
    Protocol : TLSv1.2 
    Cipher : 0000 
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg : None 
    PSK identity: None 
    PSK identity hint: None 
    SRP username: None 
    Start Time: 1481297548 
    Timeout : 300 (sec) 
    Verify return code: 0 (ok) 
--- 

信息:

$ openssl version 
OpenSSL 1.0.2j 26 Sep 2016 
$ uname -a 
Linux meanmachine 4.8.11-1-ARCH #1 SMP PREEMPT Sun Nov 27 09:26:14 CET 2016 x86_64 GNU/Linux 

感謝您的建議!

編輯:

的代碼扔在Python2.7錯誤:

import httplib2 
h = httplib2.Http() 
h.request('https://api.pushbullet.com/v2/devices', method='GET') 

回溯(最近通話最後一個):

File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/site-packages/httplib2/__init__.py", line 1609, in request 
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey) 
    File "/usr/lib/python2.7/site-packages/httplib2/__init__.py", line 1351, in _request 
    (response, content) = self._conn_request(conn, request_uri, method, body, headers) 
    File "/usr/lib/python2.7/site-packages/httplib2/__init__.py", line 1272, in _conn_request 
    conn.connect() 
    File "/usr/lib/python2.7/site-packages/httplib2/__init__.py", line 1036, in connect 
    self.disable_ssl_certificate_validation, self.ca_certs) 
    File "/usr/lib/python2.7/site-packages/httplib2/__init__.py", line 80, in _ssl_wrap_socket 
    cert_reqs=cert_reqs, ca_certs=ca_certs) 
    File "/usr/lib/python2.7/ssl.py", line 933, in wrap_socket 
    ciphers=ciphers) 
    File "/usr/lib/python2.7/ssl.py", line 601, in __init__ 
    self.do_handshake() 
    File "/usr/lib/python2.7/ssl.py", line 830, in do_handshake 
    self._sslobj.do_handshake() 
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:590) 

附:就像上python3.5

+0

請在出現錯誤時顯示相關代碼並指出錯誤代碼。我們無法從您運行的外部命令中瞭解有關代碼的任何信息。 – jww

+0

@jww對不起...我添加了一些信息。在我的電腦上,相同的代碼與python v3.5.2一起工作良好...不是用2.7.12 – elbowz

回答

2

魅力我解決開關由httplib2的請求蟒蛇庫。

並安裝:

python2.7 -m pip install pyopenssl pyasn1 ndg-httpsclient 
+0

爲我工作+1! – M2X

+0

在Ubuntu 14.04上爲我工作。 – Duke

0

在OS X上,這解決了我的問題。

sudo -H pip install requests[security] --upgrade --ignore-installed six

相關問題