Это совершенно неправильно!
ой код:
final HttpURLConnection conn = (HttpURLConnection) sourceURL.openConnection();
if (cachedPage != null) {
if (cachedPage.eTag != null) {
conn.setRequestProperty("If-None-Match", cachedPage.eTag);
}
conn.setIfModifiedSince(cachedPage.pageLastModified);
}
conn.connect();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
newCachedPage.eTag = conn.getHeaderField("ETag");
newCachedPage.pageLastModified = conn.getHeaderFieldDate("Last-Modified", 0);
} else if (conn.getResponseCode() == HttpURLConnection.HTTP_NOT_MODIFIED) {
// Never reaches here
}
Кажется, я никогда не получал код ответа HTTP_NOT_MODIFIED, даже если несколько раз подряд попадал на один и тот же сервер - там, где определенно нет изменений на странице. Кроме того, conn.getHeaderField ("ETag") всегда, кажется, отвечает null, а иногда conn.getHeaderFieldDate ("Last-Modified", 0) возвращает 0. Я пробовал это на различных веб-серверах.
Может кто-нибудь сказать мне, что я делаю не так?