2017-09-15 3 views
0

Quelqu'un at-il des problèmes avec tweepy et ssl? J'ai pensé à changer manuellement le code tweepy, mais je ne sais pas exactement ce qui aurait besoin d'être changé. J'ai mis en place mon OAuth et j'appelle tweepy.API (auth). J'ai essayé d'ajouter un verify = false là dedans, mais cela jette une erreur car je ne pense pas qu'il soit autorisé dans la version actuelle de tweepy.Le certificat ssl tweepy n'a pas réussi à envoyer la demande

Voici mon erreur:

Traceback (most recent call last): 
    File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 594, in urlopen 
    self._prepare_proxy(conn) 
    File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 810, in _prepare_proxy 
    conn.connect() 
    File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 326, in connect 
    ssl_context=context) 
    File "/usr/local/lib/python3.6/site-packages/urllib3/util/ssl_.py", line 325, in ssl_wrap_socket 
    return context.wrap_socket(sock, server_hostname=server_hostname) 
    File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 401, in wrap_socket 
    _context=self, _session=session) 
    File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 808, in __init__ 
    self.do_handshake() 
    File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1061, in do_handshake 
    self._sslobj.do_handshake() 
    File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 683, in do_handshake 
    self._sslobj.do_handshake() 
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748) 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 440, in send 
    timeout=timeout 
    File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 630, in urlopen 
    raise SSLError(e) 
urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748) 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/usr/local/lib/python3.6/site-packages/tweepy/binder.py", line 187, in execute 
    proxies=self.api.proxy) 
    File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 502, in request 
    resp = self.send(prep, **send_kwargs) 
    File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 612, in send 
    r = adapter.send(request, **kwargs) 
    File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 514, in send 
    raise SSLError(e, request=request) 
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748) 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "appauth.py", line 17, in <module> 
    print(api.favorites()) 
    File "/usr/local/lib/python3.6/site-packages/tweepy/binder.py", line 245, in _call 
    return method.execute() 
    File "/usr/local/lib/python3.6/site-packages/tweepy/binder.py", line 189, in execute 
    raise TweepError('Failed to send request: %s' % e) 
tweepy.error.TweepError: Failed to send request: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748) 

Répondre

0

Essayez d'installer les packages suivants,

pip install pyOpenSSL pyasn1 certifi 

et essayez d'exécuter à nouveau code.

+0

Cela m'a donné une mauvaise poignée de main aussi: (Causé par SSLError (SSLError ("mauvaise poignée de main: erreur ([('routines SSL', 'tls_process_server_certificate', 'certificat verify failed')],)",) ,)) – user6754289

+0

Si vous utilisez Mac OS, essayez 'which openssl' si vous n'avez pas encore openssl, s'il vous plaît essayez d'installer' brew install openssl', et exécutez à nouveau le code;) –

+0

pas de chance avec ça non plus! Je suis sur un mac si – user6754289

0

J'ai eu des problèmes SSL et j'ai dû importer cette lib pour résoudre le problème.

import urllib3.contrib.pyopenssl 

urllib3.contrib.pyopenssl.inject_into_urllib3()