如何區分代理ip的類型?有朋友認為他設置代理IP后查看本地IP時,本地IP并沒有變化。他認為這是透明代理,其實是錯誤的。這種情況應該是瀏覽器或者系統設置不正確,導致代理IP的設置根本沒有生效。有朋友認為他使用代理IP訪問網站時,被屏蔽是非隱私代理,或者被屏蔽是隱私代理,這其實是不對的。有些網站沒有反抓取策略,即使使用透明代理也不會被屏蔽。有些網站有嚴格的反抓取策略,使用隱私代理還是會被屏蔽。
那么,我們應該如何區分哪種代理是不可見的,哪種是透明的呢?我們先來看代理的原理。
代理類型主要取決于代理服務器的配置。不同的配置會導致不同的代理類型。在配置中,REMOTE_ADDR、HTTP_VIA、HTTP_X_FORWARDED_FOR這三個變量是決定性因素。
ADDR偏遠地區
REMOTE_ADDR表示客戶端的IP,但其值不是由客戶端提供,而是由服務器根據客戶端的IP指定的。
如果使用瀏覽器直接訪問網站,網站的web服務器(Nginx、Apache等。)會將遠程_ADDR設置為客戶端的IP地址。
如果我們為瀏覽器設置了代理,那么我們訪問目標網站的請求首先會通過代理服務器,然后代理服務器會將請求轉換到目標網站。那么網站的web服務器會將REMOTE_ADDR設置為代理服務器的IP。
b、HTTP_VIA
Via是HTTP協議中的一個頭,記錄了HTTP請求經過的代理和網關。一個代理服務器后增加一個代理服務器的信息,兩個后增加兩個。
c、X-Forwarded-For(XFF)
X-Forwarded-For是一個HTTP擴展頭,用來表示HTTP客戶端的真實IP。當客戶端使用代理時,web服務器不知道客戶端的真實IP地址。為了避免這種情況,代理服務器通常會添加X-Forwarded-For標頭信息,并將客戶端的IP添加到標頭信息中。
現在,我們來看看這四個代理是根據什么來判斷的。
1.透明劑
遠程ADDR =代理IP
HTTP_VIA =代理IP
HTTP _ X _ FORWARDED _ FOR =您的IP
雖然透明代理可以直接“隱藏”你的IP地址,但是你還是可以從HTTP_X_FORWARDED_FOR中查出你是誰。
2.浦西代理
遠程ADDR =代理IP
HTTP_VIA =代理IP
HTTP _ X _ FORWARDED _ FOR =代理IP
布匿代理比透明代理好一點:別人只能知道你用了代理,不能知道你是誰。
3.迷惑代理
遠程ADDR =代理IP
HTTP_VIA =代理IP
HTTP_X_FORWARDED_FOR =隨機IP地址
和匿名代理一樣,如果你使用混淆代理,別人仍然可以知道你在使用代理,但是你會得到一個假的IP地址,偽裝的更加逼真。
4.隱藏劑
遠程ADDR =代理IP
HTTP_VIA =未確定
HTTP_X_FORWARDED_FOR =未確定
可見高尼的代理讓別人無法發現你在使用代理,所以是最好的選擇。推薦閱讀:談爬蟲與反爬蟲之間的事。
現在,我們都知道如何辨別一個IP是否是代理IP。有朋友說太麻煩了。當我得到一個IP時,如何檢查HTTP_X_FORWARDED_FOR?我也不會寫代碼。這里有一個非常神奇的工具:IP模擬器代理IP,可以批量驗證代理IP是否有效,不可見等等。