Wie Android von der Rückkehr eine zwischengespeicherte Antwort auf meinen HTTP-Request zu verhindern?

StackOverflow https://stackoverflow.com/questions/2692814

Frage

Ich schreibe ein Client, der wiederholt HTTP-Anfragen für XML-Daten machen, die im Laufe der Zeit verändert. Es sieht aus wie der Android-Stack ist meine Seite Anfragen Caching und immer wieder die gleiche Seite zurück. Wie stelle ich sicher, wird es eine neue Seite jedes Mal?

- Code ---

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));

Danke, Gerry

War es hilfreich?

Lösung

fügen Sie einen HTTP-Header:

Cache-Control: no-cache

und sehen, ob das funktioniert.

Andere Tipps

Anfügen eines nicht verwendeter Parameter am Ende der URL:

HttpGet request = new HttpGet(url + "?unused=" + someRandomString());

wo someRandomString() wahrscheinlich die aktuelle Zeit beinhaltet.

Es ist grob, aber es ist ziemlich garantiert zu arbeiten, unabhängig von all den äußeren Faktoren, die eine „richtige“ Lösung scheitern, wie falsch konfigurierten oder Buggy-Proxies machen.

Hinweis: die zufällige Zeichenfolge erhalten

HttpGet request = new HttpGet(url + "?unused=" + UUID.randomUUID().toString());
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top