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);
});
어제 시도했지만 어쨌든 지금은 예외가 발생했습니다. 정말 이에 대한 도움을 주시면 감사하겠습니다.