[pyar] Formularios y Urllib2 Django

Lucas rollbak en gmail.com
Vie Jul 27 23:23:17 ART 2012


On Jul 27, 2012 11:16 PM, "Felipe Olaya" <fluverk en gmail.com> wrote:
>
> Hola!, estoy tratando de pasar una pequeña aplicación que tengo en PHP
> a Python, consta de un formulario que recibe unos valores, y se envían
> a una API: login y send valúes.
>
> El Código PHP
> //------------- datos recogidos ------------------
>     $postdata = "p_num_text=$nop&smstemplate=&message=$mensaje";
>         if($nop!="" && $mensaje!=""){
>             $ch = curl_init();
>       @fclose($O);
> //------------- Login ------------------
>             curl_setopt($ch, CURLOPT_URL,
> "http://dominio.com/subdominio/index.php");
>             curl_setopt($ch, CURLOPT_REFERER,
> "http://dominio.com/subdominio/index.php");
>             curl_setopt ($ch, CURLOPT_POST, 1);
>             curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows;
> U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203
> Firefox/3.6.13");
>             curl_setopt ($ch, CURLOPT_POSTFIELDS,
> "app=page&inc=login&op=auth_login&username=$username&password=$pass");
>             curl_setopt ($ch, CURLOPT_COOKIEJAR, $Cookies);
>             curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
>             $login = curl_exec ($ch);
>
>             //----------------- Enviar mensaje -------------------
>             curl_setopt($ch, CURLOPT_URL,
> "
http://dominio.com/subdominio/index.php?app=menu&inc=send_sms&op=sendtopv_yes
");
>             curl_setopt($ch, CURLOPT_REFERER,
> "http://dominio.com/subdominio/index.php?app=menu&inc=send_sms&op=sendtopv
");
>             curl_setopt ($ch, CURLOPT_POST, 1);
>             curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows;
> U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203
> Firefox/3.6.13");
>             curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
>             //curl_setopt($ch, CURLOPT_COOKIEFILE, $Cookies);
>             curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
>             $send = curl_exec ($ch);
>
> Puedo decir que todo se divide en primero la autenticación y segundo
> el envío del mensaje.
>
> El Código Python
> import urllib, urllib2
>
> user = 'xxx'
> clave = 'xxx'
> url = 'http://dominio.com/subdominio/index.php'
> params = urllib.urlencode({'app': 'page', 'inc': 'login', 'op':
> 'auth_login', 'username': user, 'password': clave})
> urlx = urllib2.urlopen('http://slidetwo.dyndns.org/vasquez/index.php?%s'
> % params)
>
> ¿Que opinan?, el detalle esta que no esta autenticando, si imprimo
> params y copio y pego la url en un navegador me funciona.
>
> Muchas Gracias.
> Saludos.
>
> El día 27 de julio de 2012 06:21, Santiago Basulto
> <santiago.basulto en gmail.com> escribió:
> > Te recomiendo Requests en vez de urllib2 >
> > http://docs.python-requests.org/en/latest/index.html
> >
> > Con respecto a la documentación, el sitio de Django es el mejor lugar
> > para consultar. De todas maneras, viendo tu caso de uso, yo no
> > utilizaría el form para consultar la API (o para enviar el SMS).
> > Djanto tiene un mecanismo para manejar "eventos" llamado Signals
> > (https://docs.djangoproject.com/en/1.4/topics/signals/). Basicamente
> > lo que haces es atar una función que se ejecuta cada vez que se guarda
> > tu modelo. Entonces, el Form guarda el modelo y después se dispara la
> > signal.
> >
> > La ventaja de esto es que en cuanto puedas podés refactorizar la
> > signal para que se envíe de forma asincrónica.
> >
> > Saludos!
> >
> > El día 27 de julio de 2012 01:42, Felipe Olaya <fluverk en gmail.com>
escribió:
> >> Hola, Tengo problemas al crear un formulario que reciba un código país,
> >> numero celular y por ultimo un cuerpo mensaje y enviar esta
información por
> >> medio de urllib2 a una API.
> >>
> >> No tengo idea como empezar he leído mucha información pero no he
logrado
> >> hacerlo funcionar, si alguien me puede facilitar algún tipo de
documentación
> >> para llevar acabo esto, lo agradezco.
> >>
> >> La idea es crear una aplicación, que conste de un formulario sencillo
para
> >> enviar SMS gratis.
> >>
> >> Muchas Gracias.
> >> Saludos.
> >>
> >> _______________________________________________
> >> pyar mailing list pyar en python.org.ar
> >> http://listas.python.org.ar/listinfo/pyar
> >>
> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >>
> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> >> Argentina - http://www.usla.org.ar
> >
> >
> >
> > --
> > Santiago Basulto.-
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar

En el código PHP estas hacieno el request por POST y en el código python lo
estás haciendo por GET.

Esa puede ser la causa de q no te funcione.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120727/c45fdc22/attachment.html>


More information about the pyar mailing list