gpt4 book ai didi

java - 在带有代理设置的 HttpURLConnection 中使用 setReadTimeout

转载 作者:行者123 更新时间:2023-11-30 04:25:02 25 4
gpt4 key购买 nike

我正在尝试使用用户定义的代理设置连接到互联网。我已将 setReadTimeout 设置为 5 秒。如果配置的代理不正确,那么我们将无法连接到互联网,我正在使用以下代码,但读取超时根本不会发生。

            URL u = new URL("http://www.google.com/");
System.out.println("Checking internet connection availability.....");
System.setProperty("java.net.useSystemProxies", "true");
System.setProperty("http.proxyHost", proxyHost);
System.setProperty("http.proxyPort", proxyPort);
HttpURLConnection uc = (HttpURLConnection) u.openConnection();
uc.setReadTimeout(5000);
System.out.println("Response code : " + uc.getResponseCode());
System.out.println("Internet connection is available.....");

如果我运行上面的代码,那么程序将继续执行并且不会在 5 秒内终止。

任何人都可以帮我解决代码中的问题吗?

提前致谢。

最佳答案

尝试添加 uc.setConnectTimeout(5000);

编辑:最终解决方案

在获取响应代码之前使用uc.connect();

此外,在打开 HttpURLConnection 时添加代理配置。

像这样:

HttpURLConnection uc = (HttpURLConnection) u.openConnection(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(myProxyHost, Integer.parseInt(myProxyPort))));

关于java - 在带有代理设置的 HttpURLConnection 中使用 setReadTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16140664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com