0

我正在使用 java.net 创建一个带有 URL 的简单请求。此 url 每次返回一个唯一的结果。当应用程序在开发服务器上时,一切正常。当部署到 GAE 时,无论我调用多少次 url,都会一遍又一遍地返回相同的结果。如果我将实际 URL 复制并粘贴到浏览器中,它会在每次发出请求时返回一个新的唯一结果,从而按预期工作。什么可能导致此问题?任何帮助将不胜感激。

4

2 回答 2

0

尝试使用 URLConnection 类,让我知道它是如何工作的,问题可能是缓存

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class Test {

    public static void main(String[] args) throws IOException {
        System.out.println(getData("http://www.google.com/"));
    }

    public static String getData(String path) throws IOException {
        URL url = new URL(path);
        URLConnection urlc = (URLConnection) url.openConnection();
        urlc.setUseCaches(false);
        urlc.connect();
        InputStream is = urlc.getInputStream();
        String s = "";
        int info;
        while ((info = is.read()) != -1) {
            s += (char) info;
        }
        is.close();
        return s;
    }
}
于 2013-08-07T17:20:51.027 回答
0

您是否尝试清空浏览器中的缓存以丢弃缓存问题。也可能在网络级别缓存。还可以尝试其他常见的时间戳参数,如 ts、timestamp 等。也许服务会接受一个。

于 2013-08-07T20:37:38.467 回答