Получить карет для печати прогресса

Простым способом является использование GeoLite ( http://dev.maxmind.com/geoip/legacy/geolite/ ). Поскольку он использует локальную базу данных, вызовы веб-служб не требуются, и это намного быстрее для геокодирования большого количества IP-адресов.

Вот как это сделать:

Добавить этот артефакт Maven:


    com.maxmind.geoip
    geoip-api
    1.2.11

Загрузите файл геолокационных данных из http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

Распакуйте файл в любую папку. Затем выполните:

LookupService cl = new LookupService("/var/geolite/GeoLiteCity.dat",
                    LookupService.GEOIP_MEMORY_CACHE | LookupService.GEOIP_CHECK_CACHE);

Location location = cl.getLocation("some ip address");

Результат будет в объекте Location в свойствах широты, долготы, города, региона и страны.

Пожалуйста, взгляните на их оценки точности на обеспечить его соответствие потребностям вашего проекта: http://www.maxmind.com/en/geolite_city_accuracy .

0
задан Make42 18 January 2019 в 14:15
поделиться