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($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
Código Python:
Ver originalimport 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.