Можно ли узнать название города по IP-адресу в java?
Как получить название города на основе IP-адреса в Java?
Ответы (3)
вы используете jsp или что? для названия города на стороне клиента вы можете использовать API Google, который вернет вам географические данные пользователя, сопоставленные с IP-адресом. Как говорится в документации Google, вы можете получить следующее
При заполнении объект google.loader.ClientLocation заполняется следующими свойствами детализации на уровне метро:
* ClientLocation.latitude — supplies the low resolution latitude associated with the client's IP address
* ClientLocation.longitude — supplies the low resolution longitude associated with the client's IP address
* ClientLocation.address.city — supplies the name of the city associated with the client's IP address
* ClientLocation.address.country — supplies the name of the country associated with the client's IP address
* ClientLocation.address.country_code — supplies the name of the ISO 3166-1 country code associated with the client's IP address
* ClientLocation.address.region — supplies the country specific region name associated with the client's IP address
для получения дополнительной информации см. полную документацию по адресу http://code.google.com/apis/ajax/documentation/
Вы должны использовать такую службу, как hostip.info, которая сопоставляет IP-адрес с его физическим местоположением и предлагает API для упрощения задачи.
Существует множество других платных и бесплатных услуг, которые можно найти на странице . Google.
Если онлайн-API, предложенный другими, не подходит для вашего приложения, я ранее успешно использовал MaxMind GeoLite City., который поставляется с Java API (среди многих других). Просто загрузите файлы базы данных, укажите на них свой код API и вперед. Просто и понятно.