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上,請指定您的位置。 –