1
我想使用HttpURLConnection在Java中获取请求。当我在我的家庭网络上但在公司nework时,响应是200我得到连接超时错误(SocketTimeoutException)我将超时更改为20秒,几秒钟后我仍然收到此错误。当我在浏览器中查看它时,链接是可用的,我从Java代码中获取超时,所以我仍然可能是防火墙问题?或者是其他东西?这是我的代码:在特定网络上的HTTP GET服务器超时
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);
您的公司提供代理吗? – 0x44656e6e795279616e
我没有很多代理经验。如果有必要,我肯定他们会这样做,但是如果我可以在同一个网络上的chrome浏览器中看到回复,那么它是否仍然是个问题? –
它当然可以。如果您的意思是Windows上的Chrome,例如IE/Edge,则它使用可由WPAD和/或组策略自动设置的系统(Windows)代理设置,或者仅通过配置它为公司提供的计算机。如果公司网络需要使用HTTP代理,就像许多好的或坏的(和丑陋的!)原因一样,然后Chrome使用代理设置并运行,但Java不会使用它并失败。如果您不在Windows上,请指定您的位置。 –