Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2011, 00:22
exorton
 
Fecha de Ingreso: marzo-2009
Mensajes: 41
Antigüedad: 15 años, 8 meses
Puntos: 1
Http code status por python 3

Estimados

como es posible obtener el status de un url en python para que ejecute distintas funciones segun el status ejemplo

if status == 400
siguientes acciones
elif status == 500
otras acciones
elif status == 300
otras
elif status == 200
print ("esta ok")

lo pregunto por que al hacer

req = urllib.request.Request(url, data, headers)
urllib.request.urlopen(req)

me bota la aplicación y me da el siguiente error solo cuando es 404
Código:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.2/urllib/request.py", line 138, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.2/urllib/request.py", line 375, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.2/urllib/request.py", line 487, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/lib/python3.2/urllib/request.py", line 413, in error
    return self._call_chain(*args)
  File "/usr/local/lib/python3.2/urllib/request.py", line 347, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.2/urllib/request.py", line 495, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
intente con un try, pero nose como diferenciarlo para cada caso.