[Python-es] problema con urllib2 y el metodo POST

Jose Caballero jcaballero.hep en gmail.com
Jue Abr 25 21:53:48 CEST 2013


Hola,



necesito comunicar con un web server, usando cualquiera de los cuatro
metodos HTTP:

 GET
 PUT
 POST
 DELETE

usando las herramientas estandar que vienen con python 2.4

Para poder escoger el metodo que necesito en cada momento, y siguiendo
una receta que encontre en stackoverflow, he creado una clase
alreadedor de Request [*]

No parece tener problemas con GET y PUT.
No lo he probado con DELETE.
Me falla con POST. Obtengo un error

           HTTP Error 400: BAD REQUEST

Me preguntaba si alguien conoce un forma alternativa para hacer
llamadas HTTP en python 2.4
que funcione con al menos GET, PUT y POST.
Cualquier comentario sera mas que bienvenido.



Saludos cordiales,
Jose



[*]

class RequestWithMethod(urllib2.Request):

    def __init__(self, method, *args, **kwargs):
        self._method = method
        urllib2.Request.__init__(self, *args, **kwargs)

    def get_method(self):
        return self._method


opener = urllib2.build_opener(urllib2.BaseHandler)
request = RequestWithMethod(method, url, data)
opener.open(request)


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