Autor
|
Tema: Problema con Python y SSL [RESUELTO] (Leído 5,116 veces)
|
NikNitro!
Desconectado
Mensajes: 1.309
Galletaaa!!!
|
Buenas gente. Estoy haciendo un pequeño script para obtener la temperatura en España de cada dia durante el año pasado. Estoy usando la web de AEMET que trae una API bastante buena pero no consigo ejecutar ni siquiera el ejemplo que ponen. Link del ejemploLink de la web de la API de AEMETEl ejemplo de uso que estoy intentando ejecutar es el siguiente: import requests url = "https://opendata.aemet.es/opendata/api/valores/climatologicos/inventarioestaciones/todasestaciones/" querystring = {"api_key":"xxxxxxxxxxxxxxxxxxxxxxx"} headers = { 'cache-control': "no-cache" } response = requests.request("GET", url, headers=headers, params=querystring) print(response.text)
Bueno, el error que me da dice tal que así: C:\Users\NikNitro\Desktop>python test.py Traceback (most recent call last): File "test.py", line 29, in <module> response = requests.request("GET", url, headers=headers, params=querystring) File "C:\Python27\lib\site-packages\requests\api.py", line 58, in request return session.request(method=method, url=url, **kwargs) File "C:\Python27\lib\site-packages\requests\sessions.py", line 502, in request resp = self.send(prep, **send_kwargs) File "C:\Python27\lib\site-packages\requests\sessions.py", line 612, in send r = adapter.send(request, **kwargs) File "C:\Python27\lib\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:661)
Estoy usando Windows 10. En cuanto a soluciones he visto el poner verify=False, pero no me deja acceder así porque es necesario ssl. A True me da el mismo error y, según he visto en la red, debería poner una ruta a un certificado. En windows no he encontrado la carpeta donde están, solo el administrador así que he descargado uno de GoDaddy, he puesto la ruta y... el mismo error. Ya no sé qué más probar. Qué me recomendáis? Gracias;)
|
|
« Última modificación: 6 Julio 2017, 15:49 pm por NikNitro! »
|
En línea
|
|
|
|
engel lex
|
En cuanto a soluciones he visto el poner verify=False, pero no me deja acceder así porque es necesario ssl. es raro, porque esta opción no descarta el certificado, solo ignora las advertencias de su validez y sigue usandolo... probando verify=True, funciona bien, aunque da una alerta de inseguridad... puedes hacer esto que es lo mismo y te ahorras la alerta import urllib, urllib2, ssl url = "https://opendata.aemet.es/opendata/api/valores/climatologicos/inventarioestaciones/todasestaciones/" querystring = {"api_key":"xxxxxxxxxxxxxxxxxxxxxxx"} data = urllib.urlencode(querystring) context = ssl._create_unverified_context() try: req = urllib2.urlopen(url+"?"+data, context=context) response = urllib2.urlopen(req) print response.read() except urllib2.HTTPError, e: print e.code, e.reason
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
NikNitro!
Desconectado
Mensajes: 1.309
Galletaaa!!!
|
D'accord, lo conseguí. Muchas gracias Engel Lex Como aporte decir que de primeras da error en la línea 11 porque (según he entendido) req es ya una url abierta. El cambio sería unicamente no hacer la línea 11 e imprimir req.read(). Gracias de nuevo. Saludos;)
|
|
|
En línea
|
|
|
|
engel lex
|
ups! jjejeje tienes razón se me pasó XD lo hice brevemente de copia de otros codigos y lo armé aśi sin querer
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Expresiones regulares --->(Python)[Resuelto]
Scripting
|
¨°o.O (ßa¢Kg|姧) O.o°
|
2
|
4,840
|
29 Marzo 2010, 02:21 am
por Novlucker
|
|
|
[Resuelto] input de Python en C++?
Programación C/C++
|
Br1ant
|
7
|
4,385
|
28 Junio 2015, 19:31 pm
por Br1ant
|
|
|
Problema con comentar bloques en Python 3 (Resuelto)
Scripting
|
lucas25cba
|
4
|
4,520
|
28 Octubre 2015, 14:59 pm
por Pablo Videla
|
|
|
[Python 3] caracteres de escape (Resuelto)
Scripting
|
JS3
|
0
|
2,710
|
13 Enero 2017, 05:27 am
por JS3
|
|
|
Python y Pandas [RESUELTO]
Scripting
|
deleted_account
|
1
|
2,785
|
15 Diciembre 2017, 05:06 am
por tincopasan
|
|