¿cómo puedo detectar los errores 404 y 403 para páginas en python y urllib (2), por ejemplo?Catching http errors
¿Hay formas rápidas sin grandes contenedores de clase?
información Agregado (seguimiento de la pila):
Traceback (most recent call last):
File "test.py", line 3, in <module>
page = urllib2.urlopen("http://localhost:4444")
File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib/python2.6/urllib2.py", line 1161, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.6/urllib2.py", line 1136, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 111] Connection refused>
Esto funciona para 403, pero no 404. 'urllib2.URLError:' –
Ockonal
Eso es porque no es un error 404 que se está viendo. El mensaje de error dice "Conexión rechazada" - no "Página no encontrada". –
Sí, tienes razón. Pero también hay un largo rastro de excepción antes de él. Entonces esa es una excepción no capturada, ¿verdad? El principal problema es captar exactamente ese error. ¿Podrías ayudar con esto también? – Ockonal