Algumas vezes o acesso a Internet só pode ser realizado através de proxy, mas como fazer com que o cURL se conecte a ele usando PHP?
<?php $lstr_html = getURL('http://www.google.com.br'); echo $lstr_html; function getURL($url){ $proxy = 'endereco.com.br:porta'; $proxyauth = 'login:senha'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth); curl_setopt($ch, CURLOPT_NOBODY, false); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $content = curl_exec($ch); curl_close($ch); return $content; }
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (2003), e especialista em Engenharia de Software pela Universidade Salvador (2010). Exerce atualmente o cargo de Analista Judiciário na Justiça do Trabalho.
Irmão, obrigado, estou num projeto e isso me ajudou bastante. Se não foi abusar muito, pelo que entendi, ele vai e coneta via o proxy, mas como faço pra continuar navegando, acessando sites de outros países com esse proxy ainda?
Ele conecta, testa e encerra, correto? Teria como conectar, e permanecer conectado e acessando outras paginas por esse mesmo proxy?
De já, obrigado.
Jesus te Abençoe
O protocolo utilizado na navegação de websites (www) é feita pelo protocolo HTTP que é baseado em requisições e respostas (exceto, conexões persistentes). Para continuar navegando você precisa guardar os estados (cookies) e enviar na próxima conexão.
Pesquise sobre as linhas abaixo. Elas servem para ler e salvar as informações dos cookies:
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . ‘/cookie.txt’);
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__). ‘/cookie.txt’);
Qualquer dúvida é só falar.
Olá bom dia, queria saber se é possível conectar a vários proxy e abrir uma URL várias vezes sendo que cada vez que abrir a URL em uma nova aba terei que estar conectado a um proxy diferente é possível?
Com certeza é possível! Você pode a cada conexão fechada chamar uma função que muda a String do Proxy. ou realizar essa tarefa na inicialização da conexão. Se precisar de ajudar para desenvolver essa função é só falar aqui nos comentários.
Poderia fazer um post sobre isso mano? Queria muito aprender