我正在使用 UrlConnection 访问我的本地网络服务器。我测量每个请求所需的时间,有些请求最多需要 200.000 毫秒。
即使我配置了超时,这怎么可能?
我在 Windows 7 64 位(Java 7 64 位)和 Debian 7 64 位(Java 7 64 位)上进行了测试
是的,我阅读了有关 SO 的相关问题/答案,但他们无法解决问题。
public String download(String link) throws IOException {
URL url = null;
String html;
url = new URL(link);
resource = (HttpURLConnection) url.openConnection(Proxy.NO_PROXY);
resource.setConnectTimeout(2500);
resource.setReadTimeout(4500);
resource.addRequestProperty("Connection", "Keep-Alive");
resource.setRequestProperty("User-Agent","Analyzer");
resource.setRequestMethod("GET");
resource.connect();
if(resource.getResponseCode() == 200) {
is = resource.getInputStream();
String charset = resource.getContentEncoding();
if (charset == null)
charset = getCharset(resource.getContentType());
html = inputStreamToString(is, charset);
} else {
html = null;
}
//System.out.println(link+" => "+resource.getResponseCode());
resource.disconnect();
if(is != null) {
is.close();
}
return html;
}