2012-02-09 24 views
0

我想確定給定IP地址的代理服務器是透明的還是匿名的。透明代理通過頭像HTTP_X_FORWARDED_FOR或HTTP_VIA連接到具有真實IP的網站。我想檢查這些代理,但我發現所有解決方案都是在服務器端開發的,以測試傳入連接的代理性。我的計劃是通過代理向示例頁面發出Web請求。如何檢查代理髮送的頭文件,最好使用WebRequest類?檢查代理服務器類型

編輯:那麼有沒有一些免費的網絡API,將允許我這樣做?我並不熱衷於在我自己的小型服務器上設置腳本,這些腳本將被請求轟炸。

+0

如果你想有沒有回答你的閱讀問題的人,這可能不是一個好主意,關閉它,改變它。改爲提出一個新問題。 – 2012-02-09 15:05:49

回答

0

這在技術上是不可能的,因爲客戶端只能看到代理返回給客戶端 - 代理服務器可以在與目標服務器通信時進行任何操作並轉換請求和服務器的響應。 。

要真正知道代理做什麼,你需要看到什麼服務器獲取併發送回不從代理的任何干擾......

0

所有解決方案都是服務器端的原因是您所談論的標頭只會從代理服務器傳遞到服務器,並且永遠不會再回到客戶端。

換句話說,如果您計劃在代理到服務器的請求中檢查HTTP標頭,您需要檢查服務器端(作爲您找到的解決方案)或主動將它們傳回給迴應客戶檢查。

無論哪種方式,你不能只是向隨機頁面發出請求,並檢查服務器獲取的標題,服務器需要以某種方式參與。

1

只要你不需要這個頭。我可以通過向任何get-my-IP站點發送請求來檢查代理的透明度,如果它返回我的IP,那麼它是透明的。如果不是那麼這個代理是匿名的。因此,步驟是:

  1. 發送請求到任何獲得-MY-IP的網站,無需代理

  2. 從響應提取IP作爲我的本地IP地址

  3. 發送新的請求任何GET-我-IP的網站與代理從響應

  4. 提取的IP,並與我的本地IP比較(步驟2)

  5. if(LocalIp==ProxyIp)則代理是透明否則爲匿名