在我用Java編寫的程序中,我生成了隨機(現有)地址。對於每個地址,我想計算一些東西。 如果頁面非常大,我不想做這個計算,因爲那樣會花費很多時間。獲取網頁的近似時間以Java加載
所以我想,如果我大致知道獲取信息需要多少時間,我可以確定是否要操作該計算。
精確度並不重要;我不在乎是否需要比請求多一秒(儘管我不希望它超過約5-6秒)。
我從維基百科生成文章,如果有幫助。
預先感謝您。
在我用Java編寫的程序中,我生成了隨機(現有)地址。對於每個地址,我想計算一些東西。 如果頁面非常大,我不想做這個計算,因爲那樣會花費很多時間。獲取網頁的近似時間以Java加載
所以我想,如果我大致知道獲取信息需要多少時間,我可以確定是否要操作該計算。
精確度並不重要;我不在乎是否需要比請求多一秒(儘管我不希望它超過約5-6秒)。
我從維基百科生成文章,如果有幫助。
預先感謝您。
如果你的意思是我的意思,你可以爲資源做一個HTTP HEAD請求。網絡服務器然後會回覆標題,但不是內容。如果它發送Content-Length標題,那麼你知道頁面有多大。
有幾種方法可以做到這一點(如果服務器支持的話)。例如使用的URLConnection,Apache的HttpClient的...
爲1,您可以使用Connection.getContentLength();
的頁面的第二個請求頭:client.execute(requestHead);
然後從響應讀的Content-Length元
任何方法的壞處是,有時服務器不會提供任何關於大小的信息,因此您可以最終得到的值爲-1
謝謝你的回答。兩個問題:(1)我該怎麼做(我查了一下,找不到)? (2)它是否在合理的時間內運行? – ronash
(1)你應該可以用任何像樣的HTTP庫來做到這一點,我喜歡Apache的HttpClient。 (2)不一定,在一天結束時,無法預測網絡服務器將花費多長時間做出響應,但通常情況下,HEAD響應應該很快,如果頁面較大或者其他情況不應該花費更長的時間。 – ZoFreX