• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rcosta4540

php cURL my Vodafone

16 mensagens neste tópico

Boas.

Estou a tentar programar via php cURL o login no my vodafone. Mas por agora nao tenho tido sucesso  :down:

O codigo que criei é o seguinte:

<?php
$nome_utilizador = "91xxxxxxx;
$password = "xxxxxxxx";
$LOGINURL = "https://my.vodafone.pt/guest/";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$POSTFIELDS = 'Login1:userid='.$nome_utilizador.'&Login1:password='.$password;
$referer = "https://my.vodafone.pt/sc/SCIFrameIndex.aspx";

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL,$LOGINURL);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_COOKIEFILE, '/temp/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, '/temp/cookie.txt');
$result = curl_exec ($ch);
curl_close ($ch);
echo $result;
?>

Acontece que esse script nao esta a funcionar :S. Nao sei se terá a ver com o URL de login. Utilizei o LiveHTTPHeaders e obtem-se os seguintes POST quando se faz o login:

    * Em https://my.vodafone.pt/cms2002/templates/homepage.aspx?NRMODE=Published&NRORIGINALURL=%2fguest%2fhomepagePre%2ehtm%3fou%3d%26ecode%3d202%26edesc%3dNo%2520Authentication%2520Ticket%2520Provided&NRNODEGUID=%7bB9DED956-B87F-4C24-852C-70A3BBBB0161%7d&NRCACHEHINT=Guest&edesc=No%20Authentication%20Ticket%20Provided&ecode=202

    POST /cms2002/templates/homepage.aspx?NRMODE=Published&NRORIGINALURL=%2fguest%2fhomepagePre%2ehtm%3fou%3d%26ecode%3d202%26edesc%3dNo%2520Authentication%2520Ticket%2520Provided&NRNODEGUID=%7bB9DED956-B87F-4C24-852C-70A3BBBB0161%7d&NRCACHEHINT=Guest&edesc=No%20Authentication%20Ticket%20Provided&ecode=202 __EVENTTARGET=Login1%3ALoginBttn&__EVENTARGUMENT=&__VIEWSTATE=dDwt(...)PVw%2BXDxhIGhyZWY9L2d1ZXN0L2Z%3D&HeaderVodafone%3ATxtPesquisa=Procurar&Login1%3Auserid=91xxxxxxx&Login1%3Apassword=xxxxxxx

    * Em https://id.vodafone.pt/ucp//auth/login.asp?crypt=0&prf=0&key=alias

    POST /ucp//auth/login.asp?crypt=0&prf=0&key=alias userid=91xxxxxxx&password=xxxxxxx&sru=https%3A%2F%2Fmy.vodafone.pt%2Fpm%2FSPMDispatcher.aspx%3FPMcmd%3D17%26userClass%3D10%26Guid%3D%7BB9DED956-B87F-4C24-852C-70A3BBBB0161%7D%26ReturnUrl%3Dhttps%253a%252f%252fmy.vodafone.pt%252fguest%252fhomepagePre.htm&fru=https%3A%2F%2Fmy.vodafone.pt%2Fguest%2FhomepagePre.htm&svc_id=myprodpub

    Agradecia a quem me pudesse ajudar a programar isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Posso-te dizer que vais ter muito trabalho, muito mesmo... A vodafone redirectiona-te de página umas 10 vezes (umas 5 são nessessárias para o login) antes de chegar á página certa.

Resumindo, o site é uma porcaria.

O que tu queres fazer exactamente?, se for mandar SMS eu posso ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois mas por exemplo deve haver uma pagina a partir da qual todos os redireccionamentos consequentes se sudecedem, sendo que nessa pagina era onde seriam colocados os dados do Post do login.

Sim e a ideia era nao so aceder ao serviço sms, mas tambem a outros serviços como por exemplo ao mail, e ao album multimedia.. Mas pronto se ja ajudares na programaçao do envio d sms a partir do my vodafone eu ja agradeço  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fazes login no mail.vodafone.pt e depois acedes à página mail.vodafone.pt/rules/sms/sms_envio.asp :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja criei o codigo para fazer o login no vodafone mail. Mas nao obtenho nada  :)

<?php

$url = "https://id.vodafone.pt/ucp//auth/login.asp"; // URL
$POSTFIELDS = 'sru=http://um-archive.vodafone.pt/proVoiceMail.do&fru=http://um-archive.vodafone.pt/index.do&ou=http://um-archive.vodafone.pt/index.do&svc_id=umailarchive&crypt=0&prf=0&use_key=true&key=alias&userid=91xxxxxxx&password=xxxxxx';
$reffer = "http://um-archive.vodafone.pt/index.do?ou=http://um-archive.vodafone.pt/index.do&ecode=202&edesc=No%20Authentication%20Ticket%20Provided";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$cookie_file_path = "/home/www/cookie.txt"; 
$header_array[0] = "GET /ucp/auth/login.asp?sru=http://um-archive.vodafone.pt/proVoiceMail.do&fru=http://um-archive.vodafone.pt/index.do&ou=http://um-archive.vodafone.pt/index.do&svc_id=umailarchive&crypt=0&prf=0&use_key=true&key=alias&userid=91xxxxxxx&password=xxxxxx HTTP/1.1";
$header_array[1] = "Host: id.vodafone.pt";
$header_array[2] = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-PT; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16;MEGAUPLOAD 1.0";
$header_array[3] = "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header_array[4] = "Accept-Language: pt-pt,pt;q=0.8,en;q=0.5,en-us;q=0.3";
$header_array[5] = "Accept-Encoding: gzip,deflate";
$header_array[6] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header_array[7] = "Keep-Alive: 300";
$header_array[8] = "Connection: Close";

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
curl_setopt($ch, CURLOPT_REFERER, $reffer); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$result = curl_exec($ch); 
curl_close($ch); 
echo $result; 
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao fazeres login ele dá-te um header para redireccionar, tens de abrir essa página, depois essa página dá-te cockies, e usas-los para abrir as outras páginas dentro do dominio mail.vodafone.pt.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois o problema é que esta sempre a dar esse erro:

* About to connect() to id.vodafone.pt port 443

* Failed to connect to id.vodafone.pt IP number 1: Permission denied

* Closing connection #0

Agora nao sei se isso podera ser problema a nivel do host que utilizo ou se é mesmo do servidor da vodafone.

É que parece-me que com ligaçoes seguras (https) as coisas nunca corre bem.

É que fazer o login é muito simples baste executar o seguinte url que ele faz o login automaticamente: https://id.vodafone.pt/ucp//auth/login.asp?sru=http://um-archive.vodafone.pt/proVoiceMail.do&fru=http://um-archive.vodafone.pt/index.do&ou=http://um-archive.vodafone.pt/index.do&svc_id=umailarchive&crypt=0&prf=0&use_key=true&key=alias&userid=91xxxxxxx&password=xxxxxx'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok. ja consegui programar o login  :P

Agora eu queria por exemplo enviar um sms atraves de uma pagina criada por mim.

Tive a ver e o envio de sms realiza-se a partir do my vodafone com o seguinte post

POST  mysms.vodafone.pt//rules/sms/sms_envio.asp?submit=ok mydate3=&indicativo=91&telefone=&mensagem1=mensagem+de+teste&programado=nao&h2=1&phones=91xxxxxxx%2F&prog=&dataf=8%2F9%2F2008+5%3A33%3A34+PM&agt=

Nao seria de esperar que ao executar o URL com aqueles dados fosse enviada a sms?

É que ja executei e nao envia nada :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Os argumentos mydate3=&indicativo=91&telefone=&mensagem1=mensagem+de+teste&programado=nao&h2=1&phones=91xxxxxxx%2F&prog=&dataf=8%2F9%2F2008+5%3A33%3A34+PM&agt= são enviados através do post.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois mas nao esta a funcionar fazendo o post com o php cURL. Por exemplo o parametro dataf corresponde a data e hora a que é enviada a mensagem e provavelmente esta so sera enviada se coincidir com a data do sistema deles.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só precisas destes campos mensagem1=mensagem&phones=numeros&programado=nao&h2=1.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para não abrir outro novo topic, visto estar relaccionado com este, gostaria de saber como é que por exemplo se sabe os headers que temos que colocar. Passo a ser mais explicito, no 1º post, o código que é apresentado contém montes de headers que são enviados através da função curl_setopt(...). Como é que se sabe se estão todos, quais devem ser, se falta algum? Dou outro exemplo, quero fazer o login e ir "andando" pelos sites como se estivesse mesmo nele, por exemplo, ogame.pt. Como é que eu sei os headers que tenho que colocar para que possa logar, etc etc. Assim como dou o exemplo do ogame, digo o p@p, um forum qualquer... o que pretendo saber é o que é que tenho que enviar pela função e como sei o que tenho que enviar, que não me falta nada.

TY

edit: o que leio de um site, se fizer echo ele imprime o site tal e qual como ele é com as tags, como posso fzr para imprimir sob a forma de texto apenas?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguém já conseguiu o código para enviar sms pelo site?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora