使用代理时,URLConnection工作非常慢

时间:2017-09-18 07:15:07

标签: java proxy urlconnection

我花了很长时间才能在我的办公室找到我的Java连接代理。现在我让它工作了,但它非常慢。

我使用以下代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.MalformedURLException;
import java.net.PasswordAuthentication;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;

public class Test {

    public static void main(String[] args) {
        long millis = System.currentTimeMillis();
        URL url;
        InputStream is = null;
        BufferedReader br;
        String line;

        try {
            Authenticator authenticator = new Authenticator() {

                public PasswordAuthentication getPasswordAuthentication() {
                    return (new PasswordAuthentication("xxxx",
                            "xxxx".toCharArray()));
                }
            };
            Authenticator.setDefault(authenticator);
            url = new URL("http://stackoverflow.com/");
            URLConnection conn = url.openConnection(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("xxx", xxx)));
            is = conn.getInputStream();
            br = new BufferedReader(new InputStreamReader(is));

            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (MalformedURLException mue) {
            mue.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } finally {
            try {
                if (is != null) is.close();
            } catch (IOException ioe) {
                // nothing to see here
            }
        }
        System.out.println("Duration: "+(System.currentTimeMillis()-millis));
    }

}

当我运行它时,输出如下:

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://stackoverflow.com/">here</a>.</h2>
</body></html>
Duration: 222856

如您所见,代理正在运行。我确实得到了网页。但它在显示网页内容之前等了很长时间(超过222秒:O)。我不知道这里可能出现什么问题。

关于环境的一些信息:我正在办公室VDI。谷歌Chrome和IE有互联网连接,但其他程序没有。通过大量的Google搜索,我找到了正确的代理设置。

0 个答案:

没有答案