1

我正在使用 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;
    }
4

0 回答 0