Estou usando um script PHP pra fazer login em um site. Este site gera um código de segurança que muda cada vez que se faz login com um IP diferente. O problema é o seguinte: ao usar o script, o site gera um código baseado no IP do servidor onde está o meu script, e não no IP do computador que está executando o script. Existe um jeito de passar o IP local? Pesquisando na net eu descobri que existe um header (X-Forwarded-For) usado por servidores proxy para repassar o IP local, mas mesmo assim não funcionou. O script que estou usando faz o login simulando um GET request (listado abaixo): function sendRequest($url) {
$ip=$_SERVER['REMOTE_ADDR'];
# echo '<'.$ip.'>'; <= Ao habilitar esta linha, conferi que o script mostrou o meu IP local
# try to connect to host
$fp = fsockopen(BASE_URL, 80, $errno, $errstr, 30);
if (! $fp) {
return array('err' => 'NO_CONNECTION');
}
# generate request
$request = "GET $url HTTP/1.1\r\n" .
"Host: " . BASE_URL . "\r\n" .
"User-Agent: Mozilla/5.0 (PCH & XTR plugin by consros)\r\n".
"Accept: application/json, text/javascript, */*\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Connection: close\r\n".
"X-Requested-With: XMLHttpRequest\r\n\r\n".
"X-Forwarded-For: $ip";
$this->trace("===>$request\n\n");
# send request and read response
fwrite($fp, $request);
$response = "";
while (! feof($fp)) {
$response .= fgets($fp, 1024);
}
fclose($fp);
$this->trace("<===$response\n\n");
# cut json object
$response = substr($response, strpos($response, '{'));
$response = substr($response, 0, strrpos($response, '}') + 1);
# correct some weired response corruption coming with channels list
$response = preg_replace('|\r\n[A-Za-z0-9]{1,4}\r\n|', '', $response);
# exclude any new lines
$response = str_replace(array("\r", "\n"), '', $response);
$params = json_decode($response, true);
return null != $params ? $params : array('err' => 'JSON_ERROR_SYNTAX');
} Eu sou completamente iniciante em php. Gostaria de saber se existe um jeito de abrir uma página, e enviar para ela o IP local, e não o IP do servidor onde está hospedado o script. O script que estou usando só funciona normal se executado no computador. Obrigado a quem puder ajudar