2013/3/26 Jose Caballero <jcaballero....@gmail.com>:
> 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
>

http://stackoverflow.com/questions/7032890/why-does-pythons-urllib2-urlopen-raise-an-httperror-for-successful-status-cod
_______________________________________________
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