Parece que tengo un problema con SSL cuando intento usar oAuth2 en Python. He pasado la mayor parte de la tarde intentando depurarlo pero parece que no puedo resolverlo.Python - Problema SSL con Oauth2
Aquí está mi script Python (bonito y sencillo):
import oauth2.oauth2 as oauth
import urlparse
import time
## If you're actually processing requests, you'll want this
# import simplejson
### GET A REQUEST TOKEN ###
consumer = oauth.Consumer(key="***KEYHERE***", secret="***KEYSECRETHERE***")
request_token_url = 'https://api.instagram.com/oauth/access_token'
client = oauth.Client(consumer)
resp, content = client.request(request_token_url, "GET")
request_token = dict(urlparse.parse_qsl(content))
token = oauth.Token(request_token['oauth_token'], request_token['oauth_token_secret'])
Y estos errores desde el intérprete de Python:
Traceback (most recent call last):
File "E:\Projects\oAuth2Test\test.py", line 16, in <module>
resp, content = client.request(request_token_url, "GET")
File "E:\Projects\oAuth2Test\oauth2\oauth2.py", line 682, in request
connection_type=connection_type)
File "E:\Projects\oAuth2Test\httplib2\httplib2.py", line 1445, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "E:\Projects\oAuth2Test\httplib2\httplib2.py", line 1197, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "E:\Projects\oAuth2Test\httplib2\httplib2.py", line 1133, in _conn_request
conn.connect()
File "E:\Projects\oAuth2Test\httplib2\httplib2.py", line 914, in connect
raise SSLHandshakeError(e)
SSLHandshakeError: [Errno 1] _ssl.c:503: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Ahora, sólo por lo que se sabe, tengo mi cacerts.txt que vino con httplib2 en el lugar correcto y se encuentra, sin embargo, todavía tengo este problema. Cualquier ayuda es apreciada, gracias!
Este 'cacerts.pem' parece mucho más completo. Enlace útil. –
Como un truco rápido también puede sobrescribir los cacerts.txt con los cacerts.arriba, la desventaja es que debes asegurarte de que esto se haga en todos tus virtualenv, por lo que no es realmente ideal. – Damian