2010/4/2 Jose Caballero <jcaballero....@gmail.com>:
[SNIP]
> Bueno, ahora me gustaria poder hacerlo con alguna libreria de python para no
> tener que depender de que curl este instalado. En el hilo se ha comentado
> urllib. Yo ya habia investigado esa via, pero sigo teniendo el mismo
> problema: no estoy seguro de que el contenido de la url no se esta
> descargando.

How to do a Http HEAD requests
http://www.mail-archive.com/python-l...@python.org/msg123224.html

Utilizando el método HEAD es el servidor que no retorna contenido, sólo
los headers.

Pero en tu ejemplo, el caso de un dominio no existente te retorna el
error el proxy.

Si quieres saber si una url es válida, entonces yo haría:

 - verificar primero con una expresión regular
 - verificar que el dominio resuelve a ip
 - verificar que el path existe con urllib2 y method HEAD

Pero el último paso es sensible a errores. Por que un site te pude retornar
200 OK aún cuando no existe la página, es decir muestran en el html
un error pero en el header status no ponen 404

Y tambien considerar los 301/302, por defecto urllib2 sigue las redirecciones.
Podrías encontrarte el caso de que una url no existe se redirecciona a otra
página. como /not-exists/ -> /search/

urllib2 te puede lanzar URLError si el dominio no existe o si la url
es inválida.

Mis dos centavos :)

~Rolando
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a