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?

<?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;

}

2 ideias sobre “Como se conectar através de proxy usando cURL no PHP?

  1. Moises

    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

    Responder
    1. Paulo A. Costa Autor do post

      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.

      Responder

Deixe uma resposta

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