gpt4 book ai didi

java - 某些网络上的 Http GET 服务器超时

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:46 25 4
gpt4 key购买 nike

我正在尝试使用 HttpURLConnection 在 Java 中发出 get 请求。当我在家庭网络上时,响应为 200,但在公司网络上,我收到连接超时错误 (SocketTimeoutException) 我将超时更改为 20 秒,几秒钟后仍然收到此错误。当我在同一网络上的浏览器中查看该链接时,该链接是可用的,我从 Java 代码中获取超时,所以它是否仍然是防火墙问题?或者是其他东西?这是我的代码:

    String USER_AGENT = "Mozilla/5.0";
URL obj = new URL("http://jsonplaceholder.typicode.com/posts/1");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setConnectTimeout(20000);
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", USER_AGENT);
int responseCode = con.getResponseCode();
System.out.println("GET Response Code :: " + responseCode);

最佳答案

这通常是由公司网络中的防火墙产生的错误。但如果您的浏览器能够访问互联网,那么您的浏览器正在使用某种代理(可能是系统代理)。所以,你必须通过标准Java network properties来参数化JVM。使其使用系统代理:

java -Djava.net.useSystemProxies=true ...

或者,找出哪些是系统代理参数(主机、端口、用户和密码)并将它们传递给 JVM:

java -Dhttp.proxyHost=... -Dhttp.proxyPort=... 

关于java - 某些网络上的 Http GET 服务器超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39959223/

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