[Python-es] por que urllib2 trata codigo 201 como un error?

Jose Caballero jcaballero.hep en gmail.com
Mar Mar 26 17:07:12 CET 2013


Hola,



estoy escribiendo un pequegno cliente que manda mensajes HTTP PUT a un
server, y recibe un codigo 201 CREATED cuando todo va bien.
Sin embargo, parece que urllib2 interpreta ese 201 como un error. Por que?
Se puede evitar sin tener que usar un try - except?
Aqui [1] un trozo del codigo, y aqui [2] el traceback que se produce.

Cualquier comentario es mas que bienvenido.



Muchas gracias,
Jose


-------------------------------------------------------------------------------------------------------------------------------------------

[1]

opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(url, data=data)
request.get_method = lambda: 'PUT'
out = opener.open(request)


[2]

Traceback (most recent call last):
  File "./register_factory.py", line 56, in ?
    register_factory()
  File "./register_factory.py", line 52, in register_factory
    url = opener.open(request)
  File "/usr/lib64/python2.4/urllib2.py", line 364, in open
    response = meth(req, response)
  File "/usr/lib64/python2.4/urllib2.py", line 471, in http_response
    response = self.parent.error(
  File "/usr/lib64/python2.4/urllib2.py", line 402, in error
    return self._call_chain(*args)
  File "/usr/lib64/python2.4/urllib2.py", line 337, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.4/urllib2.py", line 480, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 201: CREATED
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130326/b153a87b/attachment.html>


Más información sobre la lista de distribución Python-es