[Python-es] "parsear" los datos de 'input' en una llamada HTTP POST con SimpleHTTPServer.SimpleHTTPRequestHandler

Jose Caballero jcaballero.hep en gmail.com
Mar Nov 6 19:36:10 CET 2012


Hola,



como ejercicio puramente didáctico (por ahora) estoy haciendo algunas
pruebas con las classes SimpleHTTP* que trae python [tiene que ser
python2.4].
He conseguido arrancar un servicio httpd, y puedo navegar con un 'browser'
por los directorios.
También he averiguado cómo modificar el 'output', escribiendo el contenido
en self.wfile

No he sido capaz de averiguar cómo "parsear" los datos de 'input' en caso
de una llamada POST.
He añadido un método do_POST():


class MySimpleHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    ...
    def do_POST(self):
        ...
        self.wfile.write( 'mundo\n' )


Efectivamente, luego puedo hacer

      $ curl -d hola http://www.myserver.net:1234
      mundo
      $

Sin embargo no he sido capaz de averiguar cómo quedarme con los datos de
'input' en una variable. En este caso sencillo simplemente 'hola', pero
podría ser algo más complejo (por ejemplo un diccionario).
Lo estoy intentando con la clase cgi, pero no lo consigo.
No sé si el problema está en el comando curl en si mismo, que no está
completo, o que aún no he encontrado el método de la clase cgi adecuado.

Cualquier pista que me puedan dar será más que bien recibida.



Muchas gracias por adelantado.
Saludos cordiales,
Jose
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20121106/65bb80a1/attachment.html>


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