在Web數據采集中為了避免被服務器封鎖而通過代理下載的情況很常見。但是,并非所有的代理都適合于Web數據采集。下面是鯤鵬數據的技術人員給出的說明。
根據HTTP代理的匿名性可以將其分為以下幾種:
1. 透明代理(Transparent Proxies)
目標服務器能夠檢測到真實的源IP。
目標服務器根據HTTP請求頭進行檢測,判斷依據:
REMOTE_ADDR = 代理服務器 IP
HTTP_VIA = 通常為代理服務器 IP(或代理軟件名稱,也可能無此頭)
HTTP_X_FORWARDED_FOR = 真實源IP(不用代理時,無此頭或值為空)
PS:該類型代理不適合用于Web數據采集。
2. (普通)匿名代理(Anonymous Proxies)
目標服務器無法檢測到真實的源IP,但能夠檢測到使用了代理。
檢測依據:
REMOTE_ADDR = 代理服務器 IP
HTTP_VIA = 通常為代理服務器 IP(或代理軟件名稱,也可能無此頭)
HTTP_X_FORWARDED_FOR = 代理服務器 IP(知道你使用了代理,但無法得知真實源IP)
PS:該類型代理可以用于Web數據采集,但有被檢測到的風險。
3. 高匿名代理(High Anonymity Proxies -Elite proxies)
目標服務器無法檢測到你在是使用代理。
檢測依據:
REMOTE_ADDR = 代理服務器 IP
HTTP_VIA = 值為空或無此頭
HTTP_X_FORWARDED_FOR = 沒數值或無此頭
PS:該類型的代理非常適合用戶Web數據采集。鯤鵬數據的付費代理方案提供的全部為高匿名類型的代理。
另外,不使用代理時發出的頭:
REMOTE_ADDR =真實源 IP
HTTP_VIA = 值為空或無此頭
HTTP_X_FORWARDED_FOR = 沒數值或無此頭
不過,在檢測嚴格的情況下,即使沒有HTTP_VIA頭和HTTP_X_FORWARDED_FOR頭,如果存在HTTP_PROXY_CONNECTION頭,會被認為在使用普通匿名代理。
我們提供了一個代理類型檢測接口,在瀏覽器中訪問該接口即可顯示出你當前使用的代理類型(如下圖):