2009-07-15 53 views
2

客戶端的任何Java API都可以檢查其修改日期?如何檢查Web服務器中的靜態文件是否已更新?

+0

客戶端意味着什麼?你是否通過HttpClient或類似的東西從服務器獲取文件?如果是這樣,你需要看看HTTP頭(特別是Last-Modified)。請澄清。 – ChssPly76 2009-07-15 06:21:17

+0

對不起,我是指在客戶端。這個問題被修改了。 – 2009-07-15 06:22:40

回答

2

假設服務器返回一個值,您可以使用HttpURLConnection檢查頁面上的Last-Modified值。

此請求使用HTTP HEAD method爲資源只返回頭:

URL url = new URL(
    "http://en.wikipedia.org/wiki/Main_Page"); 
HttpURLConnection httpConnection = (HttpURLConnection) url 
    .openConnection(); 
httpConnection.setRequestMethod("HEAD"); 
httpConnection.connect(); 
long lastModified = httpConnection.getLastModified(); 
if (lastModified != 0) { 
    System.out.println(new Date(lastModified)); 
} else { 
    System.out.println("Last-Modified not returned"); 
} 
httpConnection.disconnect(); 

// TODO: error handling 

HttpURLConnection類是足夠的一些事情,但如果你想有一個更全面的API,看看Apache HttpComponents

相關問題