导航:首页 > 编程语言 > 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采集相关的资料

热点内容
sql插入数据命令 浏览:470
u盘根目录文件夹是哪个 浏览:693
新预算法预算编制 浏览:622
perl怎样遍历文件夹 浏览:636
安卓手机如何更好的保护隐私 浏览:316
程序员书籍知乎 浏览:154
王者安卓v区怎么转移到苹果 浏览:449
加密区卸载 浏览:122
女程序员压力大想辞职 浏览:681
算法体现在哪里 浏览:219
阿里云个人服务器推荐 浏览:363
汽车识别视频文件夹 浏览:110
档案服务器不可用是什么意思 浏览:525
有什么app能看到老婆在哪 浏览:562
androidpdf源码 浏览:435
方舟怎么把单机人物上传到服务器 浏览:964
偏置命令下大小形状保持不变 浏览:988
单片机各功能接口芯片 浏览:795
跳转收费系统源码 浏览:604
python3什么时候 浏览:708