Foros del Web » Programando para Internet » Python »

Problema con python para accesar página https

Estas en el tema de Problema con python para accesar página https en el foro de Python en Foros del Web. Hola, buen día. Desde hace algunos días tengo un problema accesando a https://www.sicop-sep.hacienda.gob.mx/ por medio de python. Busco obtener el código de retorno para saber ...
  #1 (permalink)  
Antiguo 16/08/2012, 11:02
 
Fecha de Ingreso: agosto-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Busqueda Problema con python para accesar página https

Hola, buen día.

Desde hace algunos días tengo un problema accesando a https://www.sicop-sep.hacienda.gob.mx/ por medio de python.

Busco obtener el código de retorno para saber si está o no funcionando, sin embargo, arroja un error y no tengo idea del por qué ocurre.

El código tiene una función que sigue los redireccionamientos y funciona bien con otras páginas https (probé https://www.eff.org/https-everywhere/ y https://www.cia.gov/kids-page/index.html), pero, en la que me marca error, no he tenido suerte. De hecho, sólo he podido entrar a la página usando Firefox 3.x.

¿Hay algo equivocado en el código o para ese tipo de páginas debería de usar algo más?

Agradecezco de antemano su tiempo.

Código:
import urllib.request
import http.client
import urllib.parse
from urllib.parse import urlparse 

def resolve_http_redirect(url, depth=0):
    if depth > 10:
        raise Exception("Redirected "+depth+" times, giving up.")
    o = urllib.parse.urlparse(url,allow_fragments=True)

    print(o)

    conn = http.client.HTTPSConnection(o.netloc)
    path = o.path

    print (path)

    if o.query:
        path +='?'+o.query
    conn.request("HEAD", path)
    res = conn.getresponse()
    headers = dict(res.getheaders())
    if 'location' in headers and headers['location'] != url:
        return resolve_http_redirect(headers['location'], depth+1)
    else:
        return url

url_https="https://www.sicop-sep.hacienda.gob.mx/"

host = urlparse(url_https)[1]
print(host)
req = ''.join(urlparse(url_https)[2:]) 
print(req)
conn = http.client.HTTPSConnection(host)
conn.request('HEAD', req) 
resp = conn.getresponse() 
print(resp.status)
print(resp.reason)
print(" ")
print(resp.msg)
answer=resolve_http_redirect(url_https)
print(answer)
Al ejecutar el código arroja lo siguiente:

Cita:

www.sicop-sep.hacienda.gob.mx
/

Traceback (most recent call last):
File "C:\PYTHONppg\prueba_https.py", line 40, in <mod
ule> conn.request('HEAD', req)
File "c:\Python32\lib\http\client.py", line 967, in request
self._send_request(method, url, body, headers)
File "c:\Python32\lib\http\client.py", line 1005, in _send_request
self.endheaders(body)
File "c:\Python32\lib\http\client.py", line 963, in endheaders
self._send_output(message_body)
File "c:\Python32\lib\http\client.py", line 808, in _send_output
self.send(msg)
File "c:\Python32\lib\http\client.py", line 746, in send
self.connect()
File "c:\Python32\lib\http\client.py", line 724, in connect
self.timeout, self.source_address)
File "c:\Python32\lib\socket.py", line 404, in create_connection
raise err
File "c:\Python32\lib\socket.py", line 395, in create_connection
sock.connect(sa)
socket.error: [Errno 10061] No connection could be made because the target machine actively refused
  #2 (permalink)  
Antiguo 16/08/2012, 11:22
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Problema con python para accesar página https

Lo que pasa es que el sitio tiene problema con sus certificados ssl.

No hay mucho que puedas hacer al respecto a menos que seas el webadmin.
  #3 (permalink)  
Antiguo 16/08/2012, 11:35
 
Fecha de Ingreso: agosto-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema con python para accesar página https

Muchas gracias.

Pensé que había algo en el código que lo hacía colapsar.

Saludos.
  #4 (permalink)  
Antiguo 21/08/2012, 16:20
 
Fecha de Ingreso: agosto-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema con python para accesar página https

¿Alguien sabe cómo le hace Firefox para poder ver esa página? Si no mal recuerdo, me pareció haber visto un código donde se puede enviar una solicitud http diciéndole al servidor que se es un navegador específico. ¿Hay forma de usar esto para decir que el código de python es de Firefox?
  #5 (permalink)  
Antiguo 21/08/2012, 20:32
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Problema con python para accesar página https

Eso lo puedes hacer ajustando el header User-Agent

Etiquetas: https, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:09.