[pyar] Formularios y Urllib2 Django

Felipe Olaya fluverk en gmail.com
Vie Jul 27 23:16:21 ART 2012


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



More information about the pyar mailing list