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

mapb_1990

executar uma URL e capturar resultado

12 mensagens neste tópico

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.

fjgaq8.jpg

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.

n sei o k mais posso fazer para executar a URL e capturar o seu resultado.

alguem tem alguma ideia?

cumps :D:);)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<?phpxml version="1.0" encoding="utf-8"?>

Isto é mesmo assim? É que a ultima opção pode estar a dar erro por causa daquele "php" no início ..

Podes usar regex para sacar os valores que queres também.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<?phpxml version="1.0" encoding="utf-8"?>

Isto é mesmo assim? É que a ultima opção pode estar a dar erro por causa daquele "php" no início ..

yap. não sabendo mt de xml, tb estranhei. podes confirmar aqui!

Podes usar regex para sacar os valores que queres também.

certo, mas como é k obtenho o resultado?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

usas o cURL


<?php
// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

// grab URL and pass it to the browser
$result = curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não conhecia esse recurso.

tenho o wampserver v2.0 e já activei a linha "extension=php_curl.dll", mas o código n me está a retornar nd.

$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);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

curl_setopt($ch, CURLOPT_URL, "https://www.smartvoip.com/myaccount/sendsms.php?username=xxxxxxx&password=xxxx&from=xxxxxxxxto=96xxxxxxx&text=mensagem");

Não será por causa disto (faltar os parâmetros) ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Não será por causa disto (faltar os parâmetros) ?

Os parametros estao lá. embora estejam incorrectos, devia retornar a mensagem:

1  0 failure  The parameter to (destination number) is missing

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja vi k com php não vou lá  :upset:

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>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem visto, eu tive problemas com as funções builtin do php há uns tempos...

resolvi assim:

$result = shell_exec("curl --url https://www.whatever.com/?param=value");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yoda.pt, és o meu salvador. xD

era isso mesmo.

funcionou às mil maravilhas.

depois de ter o resultado, foi só fazer um regex, para conseguir os parâmetros.

obrigada tb ao edsousa, por me ter falado desta biblioteca k é mt útil.

sempre k precisarem de algo, e k eu possa ajudar, peçam!

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