Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal, tudo bem? Surgiu uma necessidade aqui no trabalho e faz muito tempo que não mexo com php. Preciso logar em um site (externo - não tenho acesso ao fonte), acessar uma página que contem um form e enviar conteudo para esse form ser executado. O objetivo disso é automatizar um processo nosso de compra.
De início, com uns exemplos que peguei cheguei nesse code:
<?php
$URL = "xxx";
$POST = http_build_query(array(
'EditUsuario' => 'yy',
'EditSenha' => 'zz'
));
$ch = curl_init( $URL );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POST);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
if ( curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200 )
die( 'Falha na autenticação.' );
echo $response;
curl_close($ch);
?>
Esse code acima me trouxe o seguinte cabeçalho:
HTTP/1.1 200 OK Connection: close Date: Tue, 10 Mar 2015 18:10:48 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Content-type: text/html Content-Length: 1601
A primeira pergunta, com esse cabeçalho o login foi feito 100% né? E agora qual seria meu proximo passo p/ chegar na pagina que contem o form e enviar conteudos para esse form?
Agradeço a atenção!
Beraldo tem ideia do que posso fazer? To bem perdido! rs
@off, voce trabalha ou trabalhou com Protheus? Tem um beraldo desenvolvedor advpl rs..
Beraldo tem ideia do que posso fazer? To bem perdido! rs
Ao efetuar o login pelo navegador, o que é retornado? Seu script deveria retornar a mesma coisa.
É difícil saber qual é o problema, pois envolve uma aplicação desconhecida por nós. Se esse site enviar status 200 e conteúdo vazio em caso de um erro qualquer, não temos como saber o motivo.
Tente efetuar login, usando o navegador, com dados inválidos, campos vazios etc, para ver como a aplicação se comporta.
@off, voce trabalha ou trabalhou com Protheus? Tem um beraldo desenvolvedor advpl rs..
Não sou eu, não.
Tem Beraldo em todo lugar por aí, principalmente Paraná em São Paulo (interior) :lol:
É bem provável que o login tenha falhado. O sistema retornou status 200, mas nenhum conteúdo. Está estranho isso
Considerando que é um sistema de login, deveria vir um cookie n0 cabeçalho HTTP. Esse cookie deveria ser enviado junto com todas as requisições subsequentes, para identificar você na aplicação.