Essa não é uma tarefa muito comum… Mas as vezes precisamos fazer um login automático (usando PHP) em outro site para pegar algumas informações dinamicamente.
Você pode fazer essa “façanha” usando uma biblioteca do PHP chamada cURL (veja mais sobre o cURL aqui), veja um exemplo devidamente comentado e explicado:
< ?php // Inicia o cURL $ch = curl_init(); // Define a URL original (do formulário de login) curl_setopt($ch, CURLOPT_URL, 'http://www.site.com/login.php'); // Habilita o protocolo POST curl_setopt ($ch, CURLOPT_POST, 1); // Define os parâmetros que serão enviados (usuário e senha por exemplo) curl_setopt ($ch, CURLOPT_POSTFIELDS, 'usuario=fulano&senha=12345'); // Imita o comportamento patrão dos navegadores: manipular cookies curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Define o tipo de transferência (Padrão: 1) curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); // Executa a requisição $store = curl_exec ($ch); // Define uma nova URL para ser chamada (após o login) curl_setopt($ch, CURLOPT_URL, 'http://www.site.com/minha_conta.php'); // Executa a segunda requisição $content = curl_exec ($ch); // Encerra o cURL curl_close ($ch); ?>
No fim da execução deste script você terá duas variáveis: a $store contendo o HTML da página resultado (depois do submit do login) e a variável $content, contendo o HTML da página chamada na segunda requisição.
O uso dele é bem simples, vale a pena tentar.
Há também, pra quem quiser, o site (não muito bonito) do cURL: http://curl.haxx.se/
Se alguém tiver alguma dúvida, é só falar!
Espero que tenham gostado ![]()
Você também vai gostar de ler:
- Tutorial básico de cURL – Instalação, configuração e uso
- Criando um sistema de login com PHP e MySQL
- Como criar um Sistema de Login com Níveis de Permissão
- Função para reduzir URLs dinamicamente – TinyURL
- Twittando pelo PHP
Com as tags Cookie, Cookies, cURL, Documentação, Formulário, HTML, Login, Navegador, Parâmetros, PHP, Scripts, Senha, Submit, URL, Variáveis
Escrito por Thiago Belem
Gostou desse artigo?
Não se esqueça de assinar o RSS e divulgue-o para o mundo:

otimo, me ajudou bastante
Excelente explicação sobre o cURL!
Eu já estava familiarizado com ela, já utilizo a API do Facebook e do twitter pra postar tudo nestes dois sites =D
Bom, o que me resta é a dúvida: Se utilizar o cURL a interceptação aumentará, sim ou não? (já que estarei usando GET como método de envio).
Tenho outra que não resolvo em local algum…
Seu eu tentar usar o cURL pra fazer login no orkut, estarei expondo a validação da Google?
Caro Daniel,
conseguis-te resolver o problema da sessão?
Podes disponibilizar a solução os as dicas importantes?
Obrigado!
Caro amigo,
trabalhando com codigos do curl, eu gerei um script capaz de fazer um login no facebook automatico, mas o problema é que a sessao nao é mantida, nao teria uma forma de fazer o login automatico, manter a sessao e encaminhar o usuario para navegar normalmente no site.
no curl estava notando que carregava a primeira pagina do site que estou fazendo o login automatico via o meu script, mas dai quando vou navegar nesse site que fiz o login automatico nao existe uma sessao e o site pede a senha novamente.
como resolve esse problema?
@Daniel
Procure a API do Facebook… É exatamente o que você precisa, feito pra exatamente o que você quer.
belo copy & paste!!
pelo menos traduziu!!!
Parabéns!!!
Muito útil. Para ajudar a fazer login em sites que redirecionam é só adicionar:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
Abraços!