HttpURLConnection을 사용하여 Java에서 요청을 얻으려고합니다. 내가 home network에있을 때 응답은 200이지만 회사 nework에서 연결 시간 초과 오류 (SocketTimeoutException)가 발생했습니다. 제한 시간을 20 초로 변경했으며 몇 초 후에도이 오류가 발생합니다. 링크는 자바 코드에서 타임 아웃을 얻고있는 동일한 네트워크의 브라우저에서 볼 때 사용할 수 있으므로 방화벽 문제 일 수 있습니까? 또는 다른 것? 여기 내 코드 :Http에 대한 서버 시간 초과가 특정 네트워크에서 발생했습니다.
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 브라우저에서 응답을 볼 수 있다면 여전히 문제가 될 수 있습니까? –
확실히 그럴 수 있습니다. IE/Edge와 같은 Windows상의 Chrome을 의미하는 경우 WPAD 및/또는 그룹 정책에 의해 자동으로 설정할 수있는 시스템 (Windows) 프록시 설정을 사용하거나이 구성을 통해 회사에서 제공하는 컴퓨터 인 경우에만 사용합니다. 회사 네트워크에서 HTTP 용 프록시를 사용해야하는 경우 Chrome은 다양하게 좋거나 나쁨 (그리고 못생긴!) 이유로 그 중 많은 수가 프록시 설정을 사용하지만 작동하지만 Java는이를 사용하지 않고 실패합니다. Windows를 사용하지 않는 경우 현재 사용중인 컴퓨터를 지정하십시오. –