php从代理获取ip

时间:2015-04-23 07:51:20

标签: php proxy ip

我想我不太了解这一点......

我正在开发一个php脚本,它在我的表中插入一个新行。但是有一个名为'ip_address'的字段,我想使用我拥有的代理来更改IP地址,而不是总是插入相同的ip(我网站的服务器)。

我这样做:

$loginpassw = 'login:passw';
$proxy_ip = 'xx.xxx.xxx.xxx';
$proxy_port = 'xx';
$url = "http://www.domain.com";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($ch, CURLOPT_PROXY, $proxy_ip);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $loginpassw);
$data = curl_exec($ch);
curl_close($ch);

如何获取更改的IP?我想获取它,并将其插入数据库。

最好的问候,丹尼尔

编辑:我真正想要的是没有被发现我正在通过相同的IP ...

2 个答案:

答案 0 :(得分:1)

接收GET查询的脚本应该能够通过访问此变量获取客户端IP地址:$_SERVER['REMOTE_ADDR']。这应该返回代理服务器的地址。

答案 1 :(得分:1)

试试这个

function Get_Real_IpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    if (!$ip)
       $ip = '';
    return $ip;
}