什么是髙匿代理ip,根據(jù)什么來判斷是否髙匿
有一些朋友認(rèn)為,當(dāng)他設(shè)置代理IP后再查本機(jī)IP,本機(jī)IP并沒有發(fā)生改變,他認(rèn)為這個是透明代理,其實(shí)是不對的,這種情況應(yīng)該是瀏覽器或系統(tǒng)哪里沒設(shè)置好,導(dǎo)致設(shè)置的代理IP根本沒有生效。
還有一些朋友認(rèn)為,當(dāng)他使用代理IP訪問網(wǎng)站,被封了就是非髙匿代理,沒有被封就是髙匿代理,這其實(shí)也是不對的,有些網(wǎng)站沒有反爬策略,哪怕使用透明代理都不會被封,有些網(wǎng)站反爬策略很嚴(yán)格,使用髙匿代理也依然會被封。
那么應(yīng)該如何來分辨哪種是髙匿代理,哪種是透明代理呢?我們先看看代理原理吧。
代理類型主要取決于代理服務(wù)器端的配置。不同配置會形成不同的代理類型。在配置中,這三個變量REMOTE_ADDR,HTTP_VIA,HTTP_X_FORWARDED_FOR是決定性因素。
1、 REMOTE_ADDRREMOTE_ADDR 表示客戶端的 IP,但是它的值不是由客戶端提供的,而是服務(wù)器根據(jù)客戶端的 IP 指定的。如果使用瀏覽器直接訪問某個網(wǎng)站,那么網(wǎng)站的 web 服務(wù)器(Nginx、Apache等)就會把 REMOTE_ADDR 設(shè)為客戶端的 IP 地址。如果我們給瀏覽器設(shè)置代理,我們訪問目標(biāo)網(wǎng)站的請求會先經(jīng)過代理服務(wù)器,然后由代理服務(wù)器將請求轉(zhuǎn)化到目標(biāo)網(wǎng)站。那么網(wǎng)站的 web 服務(wù)器就會把 REMOTE_ADDR 設(shè)為代理服務(wù)器的 IP。
2、HTTP_VIAvia 是 HTTP 協(xié)議里面的一個header,記錄了一次 HTTP 請求所經(jīng)過的代理和網(wǎng)關(guān),經(jīng)過1個代理服務(wù)器,就添加一個代理服務(wù)器的信息,經(jīng)過2個就添加2個。
3、X-Forwarded-For(XFF)X-Forwarded-For 是一個 HTTP 擴(kuò)展頭部,用來表示 HTTP 請求端真實(shí) IP。當(dāng)客戶端使用了代理時,web 服務(wù)器就不知道客戶端的真實(shí) IP 地址。為了避免這個情況,代理服務(wù)器通常會增加一個 X-Forwarded-For 的頭信息,把客戶端的 IP 添加到頭信息里面。
現(xiàn)在,我們來看看這四種代理是根據(jù)什么來判斷的。
1、透明代理REMOTE_ADDR = Proxy IPHTTP_VIA = Proxy IPHTTP_X_FORWARDED_FOR = Your IP透明代理雖然可以直接“隱藏”你的IP地址,但是還是可以從HTTP_X_FORWARDED_FOR來查到你是誰。
2、普匿代理REMOTE_ADDR = proxy IPHTTP_VIA = proxy IPHTTP_X_FORWARDED_FOR = proxy IP普匿代理比透明代理進(jìn)步了一點(diǎn):別人只能知道你用了代理,無法知道你是誰。
3、混淆代理REMOTE_ADDR = Proxy IPHTTP_VIA = Proxy IPHTTP_X_FORWARDED_FOR = Random IP address與匿名代理相同,如果使用了混淆代理,別人還是能知道你在用代理,但是會得到一個假的IP地址,偽裝的更逼真;
4、髙匿代理REMOTE_ADDR = Proxy IPHTTP_VIA = not determinedHTTP_X_FORWARDED_FOR = not determined可以看出來,高匿代理讓別人根本無法發(fā)現(xiàn)你是在用代理,所以是最好的選擇。
現(xiàn)在,我們都知道了如何分辨一個IP是否髙匿代理IP了。