2016-07-09 7 views
0

URL에서 JSON 문자열을 가져 오기 위해 아래 프로그램을 실행하고 있습니다. 내가 브라우저에서 직접 URL에 액세스하려고하면URL에서 JSON을 읽는 중 연결 시간이 초과되었습니다.

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.net.URL; 

public class Temp { 

    public static void main(String args[]) throws Exception { 
     System.out.println(readUrl("http://ip-api.com/json/31.15.112.160")); 
    } 

    private static String readUrl(String urlString) throws Exception { 
     BufferedReader reader = null; 
     try { 
      URL url = new URL(urlString); 
      reader = new BufferedReader(new InputStreamReader(url.openStream())); 
      StringBuffer buffer = new StringBuffer(); 
      int read; 
      char[] chars = new char[1024]; 
      while ((read = reader.read(chars)) != -1) 
       buffer.append(chars, 0, read); 

      return buffer.toString(); 
     } finally { 
      if (reader != null) 
       reader.close(); 
     } 
    } 
} 

그리고 그

Exception in thread "main" java.net.ConnectException: Connection timed out: connect 

결과는하지만, 어떤 문제가 발생하지 않습니다.

그리고 jQuery 호출도 제대로 작동합니다.

$.getJSON("http://ip-api.com/json/31.15.112.160", 
     function(data){ 
      document.getElementById("jsonIpDataISP").value = data.isp; 
      document.getElementById("jsonIpDataCity").value = data.city; 
      document.getElementById("jsonIpDataCountry").value = data.country; 
      document.getElementById("jsonIpDataOrg").value = data.org; 
      document.getElementById("jsonIpDataTimeZone").value = data.timezone; 

      alert(data.isp); 
      alert(data.city); 
      alert(data.country); 
      alert(data.org); 
      alert(data.timezone); 
     }); 

어제 시도했지만 어쨌든 지금은 예외가 발생했습니다. 정말 이에 대한 도움을 주시면 감사하겠습니다.

답변

0

내 바이러스 백신이 액세스를 차단하고있었습니다. 나는 그것을 무력화 시켰고 아무런 이슈도 보지 못했다.

관련 문제