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