Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/03/2013, 11:18
Avatar de MA40
MA40
 
Fecha de Ingreso: septiembre-2004
Mensajes: 23
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: ¿Excepción de redireccionamiento???

Sí, claro.

Por ejemplo, si cargamos el archivo http://ma40.zxq.net/reti.txt

Mediante el código:

Código:
import urllib2
from urllib2 import HTTPError, URLError

try:
     archivo = urllib2.urlopen("http://ma40.zxq.net/reti.txt")
except (HTTPError, URLError):
     print """ERROR"""
else:
     print """CORRECTO"""
El programa imprime CORRECTO, porque el archivo realmente existe.

Pero ahora intentamos cargar el archivo http://ma40.zxq.net/inexistente.txt , el cual no existe.

Mediante el código:

Código:
import urllib2
from urllib2 import HTTPError, URLError

try:
     archivo = urllib2.urlopen("http://ma40.zxq.net/inexistente.txt")
except (HTTPError, URLError):
     print """ERROR"""
else:
     print """CORRECTO"""
Lo deseable en este caso sería que el programa imprimiera ERROR ya que el archivo no existe, sin embargo, como esa dirección devuelve una página personalizada de error 404, el programa imprime CORRECTO.

Por ejemplo con esta otra dirección, esto no pasa: http://www.edicionesma40.com/inexistente.txt

El código en este caso sería:

Código:
import urllib2
from urllib2 import HTTPError, URLError

try:
     archivo = urllib2.urlopen("http://www.edicionesma40.com/inexistente.txt")
except (HTTPError, URLError):
     print """ERROR"""
else:
     print """CORRECTO"""
En este último caso, el programa sí que imprime ERROR, eso es porque esa dirección no tiene configurada ninguna página de error 404.

Lo que yo quisiera saber es cómo debe ser el código para que en el 2º caso, el programa imprima ERROR.
Por favor, mis conocimientos son limitados.

Muchas gracias.