Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mx loco

Logar em um sistema WEB para capturar dados automaticamente.

Recommended Posts

Boa tarde pessoal,

Estou com seguinte problema.

 

Preciso logar em uma página onde existe a autenticação login, senha com método post, logo em seguida preciso percorrer outra página dentro do sistema para capturar os dados listados na mesma da seguinte forma.

1) Preciso enviar um requisição com o método post para uma página de login.
ex. http://www.sistema.com.br/login.php

2) Logo em seguida, fazer uma outra solicitação em uma outra página deste mesmo sistema para capturar os dados listados na mesma.
Ex. http://www.sistema.com.br/dados.php

Gostaria de saber qual método no php eu poderia fazer esta façanha, caso exista claro!

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde ESerra, pesquisei sobre o assunto e obtive o seguinte.

$ch = curl_init();
$url = "https://web.site.com.br/dealer/login.sv";
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "j_id4=usuario&password=senha&j_id10=Entrar&javax.faces.ViewState=j_id1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_close ($ch);

Acima logo no sistema, porem quando peço para listar o html da outra página que, retorna que não estou logado, me exibindo uma mensagem de erro de login.

$url = file_get_contents('https://web.site.com.br/dealer/orderList.sv?conversationPropagation=begin');
echo($url); 

Não sou fluente em PHP, o sistema que utilizo é em outra linguem, mas preciso de desta página em PHP para que possa gerar este relatório.

Espero ter entendito me objetivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que define que a pessoa está logada no site é um cookie que o navegador guarda no momento do login, você realizar o post e depois utilizar o file_get_contents, isto nunca vai funcionar, o que você terá que fazer é criar o login com o cURL, salvar o cookie e então utilizando o próprio cURL "navegar" no site informando o mesmo cookie que você resgatou no momento do login.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa fazer 2 chamadas Curl.

Na primeira vc envia os dados por post para fazer o login como vc fez , salvando o cookie onde estarão os dados de sessão ou lendo o cabeçário com os dados de sessão.

Na segunda , já na url onde vc quer capturar os dados , vc envia os dados da sessão por headers ou por cookie

Compartilhar este post


Link para o post
Compartilhar em outros sites

ESerra e Massa, muito obrigado, este sistema que estou acessando tem uma rotina que tem que acessar pagina por pagina até chegar onde quero. Descobri isso agora a pouco, consegui resgatar o relatório que queria, lembrando que tenho autorização pra isso!

Agradeço de mais o caminho indicado por vocês.


Tenho um outro percurso a fazer, se trata de thead, percebi que o php tem este recurso, é funcional e confiável?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.