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

热点内容
你用什么app 浏览:224
安卓平板用什么优化软件 浏览:745
centos重新编译程序 浏览:333
cocoapods命令 浏览:904
androidusb卸载 浏览:141
linux解压缩软件 浏览:141
ppt及备注转pdf 浏览:562
ssh下载文件命令 浏览:819
程序员考MBA 浏览:263
国外加密锁是什么样子 浏览:227
linuxhosts重启 浏览:168
c语言编译正确但是不能执行 浏览:856
编程素质教育代理 浏览:908
渴望力量程序员 浏览:370
app页面拆解拆到什么程度 浏览:152
如何建立备份服务器 浏览:595
python与计算机编程语言 浏览:46
ac压缩机 浏览:957
linux磁盘id 浏览:660
有什么能让狗狗翻译的app 浏览:857