2016-06-23 2 views
0

IP 주소가있는 국가 코드를 알고 싶습니다.IP 주소가있는 국가 코드는 어떻게됩니까?

gps를 사용하지 않고.

가능합니까?

NSLocale *locale = [NSLocale currentLocale]; 
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode]; 
NSString *countryName = [locale displayNameForKey: NSLocaleCountryCode value: countryCode]; 
NSLog(@"%@ %@",countryName, countryCode); 

희망이 당신을 도울 :

+1

당신이'NSLocale'를 시도? –

답변

0

나는 NSLocale 국가 코드와 이름보다는 IP 그래서 코드를 아래와 같이 그것을 시도 얻을 수있는 좋은 방법이라고 생각합니다.

+0

예.하지만 지역별 설정을 변경하면 변경됩니다. –

+0

다음이 무료 데이터베이스가 도움이 될 수 있습니다 : http://dev.maxmind.com/geoip/legacy/geolite/ –

0

당신은 IP의 수를 계산하는 것을 잊지 마세요 IP 범위에서 국가를 추출하려면 http://lite.ip2location.com/database-ip-country

에서 국가 데이터베이스에 IP를 다운로드 할 수 있습니다

public Long getIpNumber(String ip) { 

    if (StringUtils.isBlank(ip)) 
     return null; 

    String[] ipArray = ip.split("\\."); 

    long result = 0; 
    long ipLong = 0; 

    for (int x = 3; x >= 0; x--) { 
     ipLong = Long.parseLong(ipArray[3 - x]); 
     result |= ipLong << (x << 3); 
    } 

    return result; 
} 
관련 문제