Любой API Java на стороне клиента может проверить его измененную дату?Как проверить, обновлен ли статический файл на веб-сервере или нет?
2
A
ответ
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.
1
Вы можете использовать метод lastModified в java.io.File, чтобы узнать последний раз, когда файл был изменен.
+0
Извините, я имею в виду на стороне клиента. Вопрос пересматривается. –
Клиентская сторона означает, что именно? Получаете ли вы файл с сервера через HttpClient или что-то подобное? Если это так, вам нужно посмотреть заголовки HTTP (в частности, Last-Modified). Просьба уточнить. – ChssPly76
Извините, я имею в виду на стороне клиента. Вопрос пересматривается. –