2012-05-22 51 views
0

我在Java中使用HTTP POST和GET請求。我只是試圖模仿我的瀏覽器使用Java發送的請求(我正在使用URLConnection類)。然而,當我使用Wireshark來分析我的瀏覽器發送的數據包,並且是通過Java的發送者,我發現了一個很大的不同:當使用Java時隱藏HTTP中的發送者信息

http://i.stack.imgur.com/n8OvR.png

http://i.stack.imgur.com/zPBPR.png

(打開鏈接查看圖像)

當我發送HTTP POST/GET,我使用(無論是瀏覽器或Java)發送關於自身的信息的工具。但是,我想通過Java發送完全相同的數據包,就像我通過瀏覽器一樣。有沒有辦法做到這一點?我怎樣才能隱藏發件人(在這種情況下,Java)的信息?謝謝!

+1

看起來你找http://stackoverflow.com/questions/2529682/setting-user-agent-of-a-java-urlconnection – havexz

回答

1

對不起,但其他頁面上唯一的好答案在底部。

setRequestProperty("User-Agent", "");看到JDocs爲URLConnection

您也可以使用此爲任何其他標題,如Accept-Language的。如果您將Accept-Encoding設置爲可能導致服務器gzip某些Java無法正確處理的內容,則需要小心,因此您需要執行類似於this的操作。

我不知道爲什麼建議設置系統屬性。