El día 25 de abril de 2013 15:53, Jose Caballero <jcaballero....@gmail.com> escribió: > 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)
Parece que hago ciertos progresos. Para PUT y GET, al parecer, codificar la informacion de input almacenada en data en formato JSON parece ser suficiente. Pero para POST, aparentemente, tengo que pasarla antes por urlencode() _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/