Como se conectar através de proxy usando cURL no PHP?

Publicidade

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?

[code language="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;

}
[/code]
cURL
dezembro 06, 2018
5

Comentários

  1. 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

    ResponderExcluir
  2. 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:

    [code language="language="php"]
    curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__). '/cookie.txt');
    [/code]

    Qualquer dúvida é só falar.

    ResponderExcluir
  3. 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?

    ResponderExcluir
  4. 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.

    ResponderExcluir
  5. Poderia fazer um post sobre isso mano? Queria muito aprender

    ResponderExcluir

Postar um comentário

Menu

Pesquisar

Últimos Comentários

Fale Comigo