導航:首頁 > 編程語言 > 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採集相關的資料

熱點內容
可編程軟體分為哪兩種 瀏覽:340
格林什麼app可以看 瀏覽:697
飛盧app仙俠熱賣推薦怎麼樣 瀏覽:722
飛秋上傳文件到共享文件夾 瀏覽:691
伺服器的共享文件夾如何訪問 瀏覽:232
復盛螺桿壓縮機講解 瀏覽:332
柱在基礎插筋需要加密嗎 瀏覽:80
51單片機中斷寄存器 瀏覽:65
壓縮文件後有病毒怎麼辦 瀏覽:618
蘋果ipad怎麼登安卓王者賬號 瀏覽:862
街頭足球伺服器已滿是什麼意思 瀏覽:462
androidspeex迴音消除 瀏覽:133
加密會議什麼意思 瀏覽:34
ubuntu命令行聯網 瀏覽:7
37選7中獎概率及演算法 瀏覽:593
加密狗哪個版本好 瀏覽:619
cisco命令手冊 瀏覽:502
omp演算法c 瀏覽:129
上海浦東機場源碼 瀏覽:885
扣扣加密了忘記密碼如何打開 瀏覽:508