Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2012, 19:54
MacintoshD
 
Fecha de Ingreso: mayo-2012
Ubicación: Mexico
Mensajes: 82
Antigüedad: 12 años, 6 meses
Puntos: 7
Python Urllib2 Django (Autenticación, Enviar Datos)

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
Código PHP:
//------------- datos recogidos ------------------
    
$postdata "p_num_text=$nop&smstemplate=&message=$mensaje";
        if(
$nop!="" && $mensaje!=""){
            
$ch curl_init();
      @
fclose($O);        
//------------- Login ------------------
            
curl_setopt($chCURLOPT_URL"http://dominio.com/subdominio/index.php");
            
curl_setopt($chCURLOPT_REFERER"http://dominio.com/subdominio/index.php");
            
curl_setopt ($chCURLOPT_POST1);
            
curl_setopt($chCURLOPT_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 ($chCURLOPT_POSTFIELDS"app=page&inc=login&op=auth_login&username=$username&password=$pass");
            
curl_setopt ($chCURLOPT_COOKIEJAR$Cookies);
            
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
            
$login curl_exec ($ch);

            
//----------------- Enviar mensaje -------------------
            
curl_setopt($chCURLOPT_URL"http://dominio.com/subdominio/index.php?app=menu&inc=send_sms&op=sendtopv_yes");
            
curl_setopt($chCURLOPT_REFERER"http://dominio.com/subdominio/index.php?app=menu&inc=send_sms&op=sendtopv");
            
curl_setopt ($chCURLOPT_POST1);
            
curl_setopt($chCURLOPT_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 ($chCURLOPT_POSTFIELDS$postdata);
            
//curl_setopt($ch, CURLOPT_COOKIEFILE, $Cookies);
            
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
            
$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
Código Python:
Ver original
  1. import urllib, urllib2
  2.  
  3. user = 'xxx'
  4. clave = 'xxx'
  5. url = 'http://dominio.com/subdominio/index.php'
  6. params = urllib.urlencode({'app': 'page', 'inc': 'login', 'op': 'auth_login', 'username': user, 'password': clave})
  7. 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.