中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

爬蟲所需要的爬蟲代理ip究竟是什么?

發布時間:2020-06-01 14:48:13 來源:網絡 閱讀:1343 作者:犀牛代理 欄目:大數據

爬蟲所需要的爬蟲代理ip究竟是什么

當我們對某些網站進行爬去的時候,我們經常會換IP來避免爬蟲程序被封鎖。其實也是一個比較簡單的操作,目前網絡上有很多IP代理商,例如西刺,芝麻,犀牛等等。這些代理商一般都會提供透明代理,匿名代理,高匿代理。那么這幾種代理的區別是什么?我們該如何選擇呢?本文的主要內容是講解各種代理 IP 背后的原理。
1 代理類型
代理IP一共可以分成4種類型。前面提到過的透明代理IP,匿名代理IP,高匿名代理IP,還有一種就是混淆代理IP。最基礎的安全程度來說呢,他們的排列順序應該是這個樣子的高匿 > 混淆 > 匿名 > 透明。
2 代理原理
代理類型主要取決于代理服務器端的配置。不同配置會形成不同的代理類型。在配置中,這三個變量REMOTE_ADDR,HTTP_VIA,HTTP_X_FORWARDED_FOR?是決定性因素。
1) REMOTE_ADDR
REMOTE_ADDR 表示客戶端的 IP,但是它的值不是由客戶端提供的,而是服務器根據客戶端的 IP 指定的。
如果使用瀏覽器直接訪問某個網站,那么網站的 web 服務器(Nginx、Apache等)就會把 REMOTE_ADDR 設為客戶端的 IP 地址。
如果我們給瀏覽器設置代理,我們訪問目標網站的請求會先經過代理服務器,然后由代理服務器將請求轉化到目標網站。那么網站的 web 代理服務器就會把 REMOTE_ADDR 設為代理服務器的 IP。
2)X-Forwarded-For(XFF)
X-Forwarded-For 是一個 HTTP 擴展頭部,用來表示 HTTP 請求端真實 IP。當客戶端使用了代理時,web 代理服務器就不知道客戶端的真實 IP 地址。為了避免這個情況,代理服務器通常會增加一個 X-Forwarded-For 的頭信息,把客戶端的 IP 添加到頭信息里面。
X-Forwarded-For 請求頭格式如下:
X-Forwarded-For:?client,?proxy1,?proxy2
client 表示客戶端的 IP 地址;proxy1 是離服務端最遠的設備 IP; proxy2 是次級代理設備的 IP;從格式中,可以看出從 client 到 server 是可以有多層代理的。
如果一個 HTTP 請求到達服務器之前,經過了三個代理 Proxy1、Proxy2、Proxy3,IP 分別為 IP1、IP2、IP3,用戶真實 IP 為 IP0,那么按照 XFF 標準,服務端最終會收到以下信息:
X-Forwarded-For:?IP0,?IP1,?IP2
Proxy3 直連服務器,它會給 XFF 追加 IP2,表示它是在幫 Proxy2 轉發請求。列表中并沒有 IP3,IP3 可以在服務端通過 Remote Address 字段獲得。我們知道 HTTP 連接基于 TCP 連接,HTTP 協議中沒有 IP 的概念,Remote Address 來自 TCP 連接,表示與服務端建立 TCP 連接的設備 IP,在這個例子里就是 IP3。
3)HTTP_VIA
via 是 HTTP 協議里面的一個header,記錄了一次 HTTP 請求所經過的代理和網關,經過1個代理服務器,就添加一個代理服務器的信息,經過2個就添加2個。
3 代理類型區別
1) 透明代理(Transparent Proxy)
代理服務器的配置如下:
REMOTE_ADDR?=?Proxy?IP
HTTP_VIA?=?Proxy?IP
HTTP_X_FORWARDED_FOR?=?Your?IP
透明代理雖然可以直接“隱藏”客戶端的 IP 地址,但是還是可以從HTTP_X_FORWARDED_FOR來查到客戶端的 IP 地址。
2) 匿名代理(Anonymous Proxy)
代理服務器的配置如下:
REMOTE_ADDR?=?proxy?IP
HTTP_VIA?=?proxy?IP
HTTP_X_FORWARDED_FOR?=?proxy?IP
匿名代理能提供隱藏客戶端 IP 地址的功能。使用匿名代理,服務器能知道客戶端使用用了代理,當無法知道客戶端真實 IP 地址。
3) 混淆代理(Distorting Proxy)
代理服務器的配置如下:
REMOTE_ADDR?=?Proxy?IP
HTTP_VIA?=?Proxy?IP
HTTP_X_FORWARDED_FOR?=?Random?IP?address
與匿名代理的原理相似,但是會偽裝得更逼真。如果客戶端使用了混淆代理,服務器還是能知道客戶端在使用代理,但是會得到一個假的客戶端 IP 地址。
2) 高匿代理(Elite ?Proxy 或 High Anonymity Proxy)
代理服務器的配置如下:
REMOTE_ADDR?=?Proxy?IP
HTTP_VIA?=?not?determined
HTTP_X_FORWARDED_FOR?=?not?determined
高匿代理既能讓服務器不清楚客戶端是否在使用代理,也能保證服務器獲取不到客戶端的真實 IP 地址。
4 代理的選擇
普通的匿名代理IP能隱藏客戶機的真是IP,但是也會改變我們的請求信息,服務器端有可能會認為我們使用了代理。不過使用此種代理時,雖然被訪問的網站不能知道客戶端的 IP 地址,但仍然可以知道你在使用代理,當然某些能夠偵測 IP 的網頁仍然可以查到客戶端的 IP。
而不改變客戶機的請求,這樣在服務器看來就像有個真正的客戶瀏覽器在訪問它,這時客戶的真實IP是隱藏的,服務器端不會認為我們使用了代理。
因此,爬蟲程序需要使用到爬蟲代理ip 時,盡量選擇普通匿名代理和高匿名代理。另外,如果要保證數據不被代理服務器知道,推薦使用 HTTPS 協議的代理。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜新市| 乾安县| 上杭县| 修武县| 苍溪县| 黑河市| 科技| 化隆| 工布江达县| 蒙城县| 右玉县| 庄浪县| 盐源县| 宁化县| 宾川县| 余江县| 陵水| 渝北区| 鄂尔多斯市| 巴马| 郎溪县| 泸西县| 东至县| 文登市| 常德市| 昭通市| 凤庆县| 息烽县| 阳西县| 惠来县| 东阳市| 建阳市| 天镇县| 乌苏市| 云南省| 随州市| 汝州市| 东丰县| 江孜县| 繁昌县| 普兰县|