Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JRRC

cURL + Proxy

Recommended Posts

Boa noite a todos.

 

Bom galera eu gostaria de saber como que eu faço para se conectar em meu servidor usando cURL + Proxy.

 

Somente com cURL eu consigo me logar sem nenhum problema, mais eu gostaria de me logar com Proxy e dessa forma fazer com que apareça apenas o IP do servidor.

 

Somente com cURL uso o seguinte código abaixo:

 

// Inicia o cURL
$ch = curl_init();

// Define a URL original (do formulário de login)
curl_setopt($ch, CURLOPT_URL, 'http://www.meusite.com.br/login.php');

// Cookie Session
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);

// 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, 'email='.$login.'&senha='.$passwd.'');

// Imita o comportamento padrã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);

//tempo limite de conexao
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);

// Executa a requisição
$store = curl_exec ($ch);

// Define uma nova URL para ser chamada (após o login)
curl_setopt($ch, CURLOPT_URL, "www.meusite.com.br/adm.php");

// Executa a segunda requisição
$content = curl_exec ($ch);
// Finaliza Curl
curl_close($ch);

Como que eu faria para adaptar esse código e me conectar via proxy ?!

 

Desde de já obrigado pela ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria isso que você queira?

 

curl_setopt($ch, CURLOPT_PROXYUSERPWD, "usuario:senha");
curl_setopt($ch, CURLOPT_PROXY, "endereco do proxy");
curl_setopt($ch, CURLOPT_PROXYPORT, "porta");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá hunternh, caso isso faça o seguinte abaixo é.

 

Por exemplo:

 

Meu servidor proxy tem IP 11.22.333.444:8080

 

Então independente do local que eu acesse queria saber se na hora de fazer autenticação o meu IP para o servidor iria aparecer 11.22.333.444:8080 e não o IP de onde eu estivesse acessando.

 

Essas linhas de comando fazem isso ?!

 

Desde de já obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca fiz esse teste do ip, mas esse comandos são para você conectar ao proxy pelo qual as requisições vão passar e provavelmente o local que você estaria acessando receberia o ip do proxy.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz e realmente não funcionou, deixei da seguinte forma abaixo.

 

// Inicia o cURL
$ch = curl_init();

// Define a URL original (do formulário de login)
curl_setopt($ch, CURLOPT_URL, 'http://www.meusite.com.br/login.php');

// Cookie Session
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);

// 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, 'email='.$login.'&senha='.$passwd.'');

// Imita o comportamento padrã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);

//tempo limite de conexao
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);

curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); 
curl_setopt($ch, CURLOPT_PROXY, '111.222.333.444:80');

// Executa a requisição
$store = curl_exec ($ch);

// Define uma nova URL para ser chamada (após o login)
curl_setopt($ch, CURLOPT_URL, "www.meusite.com.br/adm.php");

// Executa a segunda requisição
$content = curl_exec ($ch);
// Finaliza Curl
curl_close($ch);

Como que eu devo fazer André D. Molin para que funcione do maneira que eu quero ?!

 

Desde de já obrigado pela ajuda de todos.

 

Tentei fazer deixando da seguinte forma abaixo e também não deu certo

 

$ch = curl_init();
		
// Cookie Session
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);

curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=1&redir=1&username=".$login."&password=".$passwd."");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); 
curl_setopt($ch, CURLOPT_PROXY, "109.109.243.186:80"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0"); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, false); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); 
curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 1); 

$out = curl_exec($ch);

Que que tem de ERRADO aí que não consigo ver ?! Desde de já obrigado pela ajuda de todos, até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não trabalho na área, mas sei que dá certo assim.

Coloquei a URL para você que vai extrair o IP do proxy, e não o da sua máquina.

<?php
echo "estou aqui!";
// Inicia o cURL
$ch = curl_init();

curl_setopt($ch, CURLOPT_PROXY, "119.145.130.201");
curl_setopt($ch, CURLOPT_PROXYPORT, "80");


// Define a URL original (do formulário de login)
curl_setopt($ch, CURLOPT_URL, 'http://www.monip.org');

// Executa a requisição
$store = curl_exec ($ch);

// Finaliza Curl
curl_close($ch);

//by: Rogerio Soares
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.