Hola, iniciamos una pequeña serie de programación python sobre la red.
En este caso os presento un pequeño procedimiento para realizar una petición POST de http e imprimir el resultado. No os voy a complicar con parseado (¿existe este palabro?) de la respuesta, ni los parámetros de llamada al programa de ejemplo, centrémonos en la rutina de la llamada.
Un requisito: para validar el funcionamiento podríamos preparar una maqueta con servidor web, cgi o equivalente. Pero casualmente, he encontrado un servicio publicado por Henry Cipolla que nos permite validar la llamada y el paso de parámetros via post, podeis encontrarlo en http://www.posttestserver.com/ asi como su manual de instrucciones que permite verificar a posteriori los datos de las variables de entorno y los parámetros enviados al servidor.
Aquí va el código:
#!/usr/bin/python # postExample.py Version: 1.0 # # Execucion: python postExample.py import urllib import urllib2 # Constants ADRECA = "http://www.posttestserver.com/post.php" def requestData(par1, par2, timeout): query_args = {'p1':par1, 'p2':par2} print query_args encoded_args = urllib.urlencode(query_args) r = urllib2.urlopen(ADRECA, encoded_args, timeout) return r.read() if __name__ == '__main__': print "Output: %s" %requestData(11, 22, 10)