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

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]

5 comentários em “Como se conectar através de proxy usando cURL no PHP?”

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

  2. Cristian Santos

    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?

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

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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima