导航:首页 > 编程语言 > php代理ip采集

php代理ip采集

发布时间:2024-11-10 10:42:23

php获取IP地址的三个函数区别

以下资料供参考:

1、REMOTE_ADDR 浏览当前页面的用户计算机的ip地址

2、HTTP_X_FORWARDED_FOR 浏览当前页面的用户计算机的网关

3.HTTP_CLIENT_IP 客户端的ip

在PHP 中使用 REMOTE_ADDR 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。

要想透过代理服务器取得客户端的真实 IP 地址,就要使用 HTTP_X_FORWARDED_FOR 来读取。

不过要注意的事,并不是每个代理服务器都能用 HTTP_X_FORWARDED_FOR 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。

还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么HTTP_X_FORWARDED_FOR 取到的值将是空的。

⑵ 关于phpCURL使用ip代理服务器抓取页面的问题

$curl = curl_init ();
curl_setopt ( $curl, CURLOPT_URL, 需要抓取的url地址 );
curl_setopt ( $curl, CURLOPT_HEADER, 0 );
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 ); // 禁止调用时就输出获取到的数据
curl_setopt ( $curl, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt ( $curl, CURLOPT_SSL_VERIFYHOST, false );

// curl_setopt($ch,CURLOPT_TIMEOUT,20);//10秒
// curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,20);//10秒
// curl_setopt($ch, CURLOPT_REFERER, $collectConfigArray ['refererUrl']);

$collectHtml = curl_exec ( $curl );
echo $collectHtml;
unset ( $curl );
curl_close ( $ch );

⑶ php获得客户端的ip和端口号

$_SERVER['REMOTE_PORT'];//端口号
$_SERVER['SERVER_ADDR'];//ip

//补充
$_SERVER['HTTP_CLIENT_IP'];//代理端的(有可能存在,可伪造)
$_SERVER['HTTP_X_FORWARDED_FOR'];//用户是在哪个IP使用的代理(有可能存在,也可以伪造)

⑷ 如何使用PHP获取客户端及服务器端IP的封装类

本文实例讲述了PHP获取客户端及服务器端IP的封装类。分享给大家供大家参考,具体如下:
客户端IP相关的变量:
1. $_SERVER['REMOTE_ADDR']; 客户端IP,有可能是用户的IP,也有可能是代理的IP。
2. $_SERVER['HTTP_CLIENT_IP']; 代理端的IP,可能存在,可伪造。
3. $_SERVER['HTTP_X_FORWARDED_FOR']; 用户是在哪个IP使用的代理,可能存在,可以伪造。
服务器端IP相关的变量:
1. $_SERVER["SERVER_NAME"],需要使用函数gethostbyname()获得。这个变量无论在服务器端还是客户端均能正确显示。
2. $_SERVER["SERVER_ADDR"],在服务器端测试:127.0.0.1(这个与httpd.conf中BindAddress的设置值相关)。在客户端测试结果正确。
类如下:

class getIP{
function clientIP(){
$cIP = getenv('REMOTE_ADDR');
$cIP1 = getenv('HTTP_X_FORWARDED_FOR');
$cIP2 = getenv('HTTP_CLIENT_IP');
$cIP1 ? $cIP = $cIP1 : null;
$cIP2 ? $cIP = $cIP2 : null;
return $cIP;
}
function serverIP(){
return gethostbyname($_SERVER["SERVER_NAME"]);
}
}
$getIP = new getIP();
$clientIp = getIP::clientIP();
$serverIp = getIP::serverIP();
echo 'Client IP is ',$clientIp,'<br />';
echo 'Server IP is ',$serverIp,'<br />';

阅读全文

与php代理ip采集相关的资料

热点内容
苹果appstore怎么填 浏览:688
radiogroupandroid 浏览:152
微信加密手机店能破解吗 浏览:952
如何更换win7补丁服务器地址 浏览:702
如何举报dota2服务器 浏览:584
苹果怎么打链接微信文件夹 浏览:366
阿拉德之路怎么苹果跟安卓一起玩 浏览:241
主力排序选股源码 浏览:149
android无法生成apk文件 浏览:505
如何开一个挂网页的服务器 浏览:538
虞城车辆解压去哪里 浏览:759
如何发送战舰世界命令 浏览:609
二次解压软件是什么意思 浏览:208
公司内网DNS服务器如何输入 浏览:966
服务器f1如何改中文语言 浏览:323
编写文件夹程序 浏览:261
华为防火墙查看mtu的命令 浏览:928
ltepdf 浏览:110
怎么往app里面充值 浏览:865
在知到app上怎么进行课程确认 浏览:979