我正在使用java.net创建一个带URL的简单请求。此url每次都返回一个唯一的结果。当应用程序在开发服务器上时,一切正常。当部署到GAE时,无论我多少次调用url,都会一遍又一遍地返回相同的结果。如果我将实际的URL复制并粘贴到浏览器中,则每次发出请求时都会返回一个新的唯一结果,从而按预期工作。什么可能导致这个问题?任何帮助将不胜感激。
答案 0 :(得分: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;
}
}
答案 1 :(得分:0)
您是否尝试清空浏览器中的缓存以丢弃缓存问题。 也可能是在网络级缓存。还可以尝试其他常见的时间戳参数,如ts,timestamp等。也许服务会接受一个。