Как я могу найти местоположение, такое как город / штат или страна с IP-адреса?
Есть ли для этого модуль ruby gem или python? Или, если есть веб-сайт, который имеет API.
Как я могу найти местоположение, такое как город / штат или страна с IP-адреса?
Есть ли для этого модуль ruby gem или python? Или, если есть веб-сайт, который имеет API.
Вы можете использовать API http://ipinfo.io для этого:
$ curl ipinfo.io/8.8.8.8
{
"ip": "8.8.8.8",
"hostname": "google-public-dns-a.google.com",
"city": "Mountain View",
"region": "California",
"country": "US",
"loc": "37.3860,-122.0838",
"org": "AS15169 Google Inc.",
"postal": "94040"
}
Если вас интересует только одно поле, вы можете добавить его к URL-адресу, чтобы получить его в виде простого текста:
$ curl ipinfo.io/8.8.8.8/loc
37.3860,-122.0838
$ curl ipinfo.io/8.8.8.8/country
US
Если вы ищете модуль Python, https://github.com/juanpabloaj/pyipinfo представляет собой простую оболочку или http://geocoder.readthedocs.org/en/stable/ более полнофункциональный и имеет встроенную поддержку для ipinfo.io и другие провайдеры.
Вы можете пойти сюда ...Любая такая услуга является приблизительной оценкой ЛЮБОГО IP-адреса, но это то, что вы ищете.
http://www.geobytes.com/iplocator.htm (просто введите «IP-адрес для поиска» и нажмите "Отправить")
Hostip.info - это проект с открытым исходным кодом, целью которого является создание / поддержка базы данных, сопоставляющей IP-адреса с городами. Их страница с описанием объясняет источники данных, которые использовались для заполнения этой базы данных.
Используя HostIP, есть два способа получить данные о местоположении с IP-адреса:
У них также есть хорошо продуманный и простой в использовании RESTFUL API: просто введите свой IP-адрес после i p = в строке запроса GET):
import urllib
response = urllib.urlopen('http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true').read()
print(response)
Во-вторых, веб-сайт проекта также предоставляет полную базу данных для скачивания.
Если вы хотите видеть геолокацию на веб-сайте, по которому вы легко ориентируетесь, вы должны установить надстройку Flagfox для Firefox: вы установите флажок рядом с адресной строкой и щелкните по ней дополнительную информацию (город, IP ...).
Кроме того, вы можете использовать http://geo.flagfox.net, чтобы увидеть тот же detais для любого IP-адреса или имени сервера.