자바에서 모든 작업을 수행 할 경우는 IP 데이터베이스, COUNTRYCODE에 IP를 매핑하는 플랫 파일을 다운로드해야합니다.
Google 주변에 무료로 제공되는 것이 있지만 완전히 최신이 아닐 수 있습니다.
아마 다음과 같이 보일 것입니다 :
public String getCountryCode(String host) throws Exception {
InetAddress addr = InetAddress.getByName(host);
Long ipNum = ipToInt(addr.getHostAddress());
Statement smt = conn.createStatement();
ResultSet rs = smt.executeQuery("SELECT COUNTRY_CODE3 FROM ip_range WHERE IP_FROM <= "+ipNum+" and IP_TO >= "+ipNum);
if (rs.next())
return rs.getString(1);
return null;
}
을 다른 방법 : 일단 당신이 그것에 조회를 수행 할 수 있도록 데이터베이스, 예를 들어 SQLLite에로드 할 수 있습니다 다운로드
"16777216","33554431","AU","AUS","AUSTRALIA"
"50331648","69956103","US","USA","UNITED STATES"
"69956104","69956111","BM","BMU","BERMUDA"
"69956112","72349055","US","USA","UNITED STATES"
을 다양한 web services은 무료로 사용할 수있는 일일 사용량이 제한되어있어 귀하를 위해 열심히 노력할 것이며 아마도 최신 정보 일 것입니다.
이 답변을 시도하십시오 - http://stackoverflow.com/questions/1033/ip-to-country –