Ответ 1
добавить HTTP-заголовок:
Cache-Control: no-cache
и посмотрите, работает ли это.
Я пишу клиент, который делает повторяющиеся HTTP-запросы для xml-данных, которые меняются со временем. Похоже, что Android-стек кэширует мои запросы на страницы и повторно возвращает одну и ту же страницу. Как я могу убедиться, что он получает новую страницу каждый раз?
- код ---
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse response;
response = client.execute(request);
InputStream in;
in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
Спасибо, Gerry
добавить HTTP-заголовок:
Cache-Control: no-cache
и посмотрите, работает ли это.
Добавить неиспользуемый параметр в конце URL-адреса:
HttpGet request = new HttpGet(url + "?unused=" + someRandomString());
где someRandomString()
, вероятно, связано с текущим временем.
Это грубо, но он в значительной степени гарантированно работает независимо от всех внешних факторов, которые могут привести к "правильному" решению, например, неправильно сконфигурированным или ошибочным прокси.
Подсказка: чтобы получить случайную строку
HttpGet request = new HttpGet(url + "?unused=" + UUID.randomUUID().toString());