mapb_1990 0 Denunciar post Postado Setembro 21, 2009 boas: estou a fazer uma aplicação local em php, em k nessa aplicação é enviada uma sms ao executar uma URL: https://www.smartvoip.com/myaccount/sendsms.php?username=user&password=pass&from=xxxxxxxxx&to=+35196xxxxxxxtext=mensagem+de+teste tentei as funções fopen() e file_get_contents(), para tentar executar a url e capturar o resultado, mas deram as 2 erro. depois lembrei-m de abrir uma popup com a url. funcionou mas nao consegui enviar o resultado para a janela principal. depois de ir dar uma volta :P, lembrei-m de ir ver o codigo fonte da popup, e foi o meu espanto de vi isto: <?phpxml version="1.0" encoding="utf-8"?> <SmsResponse> <version>1</version> <result>0</result> <resultstring>failure</resultstring> <description>Invalid Number</description> <endcause>19</endcause> </SmsResponse> foi entao k me lembrei de fazer: $smsStatus = simplexml_load_file("https-~~-//www.smartvoip.com/myaccount/sendsms.php?username=user&password=pass&from=xxxxxxxxx&to=+35196xxxxxxxtext=mensagem+de+teste"); mas tb me retomou um erro de I/O. depois falaram-me do cURL, executei o código abaixo, mas nao me retornou nada. $ch = curl_init(); // set URL and other appropriate options curl_setopt($ch, CURLOPT_URL, "https-~~-//www.smartvoip.com/myaccount/sendsms.php?username=xxxxxxx&password=xxxx&from=xxxxxxxxto=96xxxxxxx&text=mensagem"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // grab URL and pass it to the browser $result = curl_exec($ch); /*echo '<pre>'; print_r (curl_getinfo($ch)); echo '</pre>'; */ // close cURL resource, and free up system resources curl_close($ch); //print_r($result); echo $result; //var_dump($result); n sei o k mais posso fazer para executar a URL e capturar o seu resultado. alguem tem alguma ideia? cumps ;) ;) ;) Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Setembro 21, 2009 Provavelmente o problema é que servidor SMS tem algumas "proteções". Tente inserir junto com o cURL, um user-agent. Normalmente ja funciona. Exemplo: $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)'; $ch = curl_init(); // set URL and other appropriate options curl_setopt($ch, CURLOPT_URL, "https://www.smartvoip.com/myaccount/sendsms.php?username=xxxxxxx&password=xxxx&from=xxxxxxxxto=96xxxxxxx&text=mensagem"); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); // grab URL and pass it to the browser $result = curl_exec($ch); /*echo '<pre>'; print_r (curl_getinfo($ch)); echo '</pre>'; */ // close cURL resource, and free up system resources curl_close($ch); //print_r($result); echo $result; //var_dump($result); Se não der, tente colocar mais uma opção no cURL, que é seguir os redirecionamentos. Compartilhar este post Link para o post Compartilhar em outros sites
mapb_1990 0 Denunciar post Postado Setembro 21, 2009 Provavelmente o problema é que servidor SMS tem algumas "proteções". Tente inserir junto com o cURL, um user-agent. Normalmente ja funciona. Exemplo: $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)'; $ch = curl_init(); // set URL and other appropriate options curl_setopt($ch, CURLOPT_URL, "https-~~-//www.smartvoip.com/myaccount/sendsms.php?username=xxxxxxx&password=xxxx&from=xxxxxxxxto=96xxxxxxx&text=mensagem"); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); // grab URL and pass it to the browser $result = curl_exec($ch); /*echo '<pre>'; print_r (curl_getinfo($ch)); echo '</pre>'; */ // close cURL resource, and free up system resources curl_close($ch); //print_r($result); echo $result; //var_dump($result); Se não der, tente colocar mais uma opção no cURL, que é seguir os redirecionamentos. mesmo assim nao da $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https-~~-//www.smartvoip.com/myaccount/sendsms.php?username=xxxxxxx&password=xxxx&from=xxxxxxxxto=96xxxxxxx&text=mensagem"); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_AUTOREFERER, true); $result = curl_exec($ch); //curl_exec($ch); echo '<pre>'; print_r (curl_getinfo($ch)); echo '</pre>'; curl_close($ch); print_r($result); echo $result; Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 22, 2009 rapaz não entendi nada, tu quer fazer o que ? capturar o URL que foi passada ? Compartilhar este post Link para o post Compartilhar em outros sites
mapb_1990 0 Denunciar post Postado Setembro 22, 2009 ja vi k com php não vou lá http://forum.imasters.com.br/public/style_emoticons/default/upset.gif vou retornar à 2ª ideia. apanhar o conteudo da popup. alguem me pode dizer como fazer isso? <script language="javascript"> my = window.open('https-~~-//www.smartvoip.com/myaccount/sendsms.php?username=xxx&password=xxx&from=xxx&to=xxxxxxxxxxtext=mensagem','','width=200,height=50,scrolling=auto,top=0,left=0'); </script> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 22, 2009 Faz um fucntion: <script language="javascript"> function urls(user,pass,frm,text){ my = window.open('https://www.smartvoip.com/myaccount/sendsms.php?username='+user+'&password='+pass+'&from='+frm+'&to='+text+'=mensagem','','width=200,height=50,scrolling=auto,top=0,left=0'); } </script> <?php echo '<a href="#" onclick="urls('.$user.','.$pass.','.$frm.','.$text.');">Teste</a>'; ?> Compartilhar este post Link para o post Compartilhar em outros sites
mapb_1990 0 Denunciar post Postado Setembro 23, 2009 parece k escrevi a mensagem sem ler a tua primeiro. n era o k keria, mas tb ja resolvi o problema. obrigada a tds os k tentaram ajudar http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif para quem um dia tiver o mesmo problema k eu, deixo aki a solução: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https-~~-//www.smartvoip.com/myaccount/sendsms.php?username=xxxxxxx&password=xxxx&from=xxxxxxxxto=96xxxxxxx&text=mensagem"); curl_setopt($ch, CURLOPT_USERPWD, 'username:pass'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($ch); curl_close($ch); echo $result; http://blog.taragana.com/index.php/archive/how-to-use-curl-in-php-for-authentication-and-ssl-communication/ Compartilhar este post Link para o post Compartilhar em outros sites