2012-07-18 33 views
0

例如,目標http服務器是A,而代理服務器(http)是B.用於直接從我的機器獲得對A的響應時間很容易。但是,如何在使用代理服務器B時獲得旅行時間?這意味着旅行時間包括從我的機器到B PLUS代理服務器B到A.我不知道如何做最後一部分,即「代理服務器B到A」。如何獲取使用http代理服務器的數據包傳輸時間?

我打算用Java來解決這個問題,有什麼想法嗎?

回答

1

爲什麼不通過代理向A請求?即,代理的正常使用。然後RTT可能包括客戶端< - > B和B < - > A腿。當然,代理可能是緩存,在這種情況下,您只是計時客戶端< - > B,但這不是你想要的嗎?

+0

嗨,謝謝你的主意。是的,你是對的,你的想法應該工作。我想的太複雜了。但是我仍然對代理服務器的工作方式感到困惑,例如代理服務器123.123.123.123:8080,我想寫一個Java程序來從這個代理服務器請求http服務並調查響應時間。我在考慮我要求的模式應該是這樣的:http://123.123.123.123:8080/index.php?url=www.google.com。我的觀念正確嗎?我如何知道確切的URL和參數? – 2012-07-18 07:36:11

+1

編號 HTTP代理自身通過HTTP工作。你製作一個或多或少普通的http請求,並將其發送到代理,並且代理知道根據Request-URI將它發送到哪裏。 有關詳細信息,請參閱http rfc(http://tools.ietf.org/html/rfc2616)。您當然可以使用http庫來定位一個http代理本身,使用Max-Forwards標頭。但是,您可能需要比JDK URL類更高級的一個。 – BeeOnRope 2012-07-19 05:51:11

+0

哦。我懂了。看起來像我的機器和代理服務器之間的協議不是http類型?在完成http請求後,如何將請求項發送給代理?通過原始套接字連接?要麼? – 2012-07-19 06:34:24

相關問題