27

我正在编写一个客户端,该客户端正在对随时间变化的 xml 数据进行重复的 http 请求。看起来 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));

谢谢,格里

4

3 回答 3

27

在 URL 的末尾附加一个未使用的参数:

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

其中someRandomString()可能涉及当前时间。

它很粗糙,但几乎可以保证不管所有可能导致“正确”解决方案失败的外部因素(例如配置错误或有故障的代理)都可以正常工作。

于 2010-04-22T16:57:30.397 回答
25

添加 HTTP 标头:

Cache-Control: no-cache

看看这是否有效。

于 2010-04-22T17:26:20.480 回答
3

提示:获取随机字符串

HttpGet request = new HttpGet(url + "?unused=" + UUID.randomUUID().toString());
于 2015-08-21T09:29:17.467 回答