Как определить страну по ip api

REST API

REST API позволяет с помощью простого запроса по HTTP или HTTPS получить наиболее актуальную и расширенную информацию об IP, используя самую свежую базу данных Sypex Geo Max .

Каждому пользователю без регистрации предоставляется 10 000 запросов в месяц (идентификация по IP и REFERER). При регистрации на сайте выдается уникальный ключ для учета запросов, а также на счет добавляются бонусные запросы (30 000 в месяц). Неиспользованные бонусные запросы не переносятся на следующий месяц. В то же время, оплаченные запросы не имеют ограничений по времени. Для пользователей которые купили запросы, сначала расходуются бесплатные бонусные запросы, а после того как они закончатся — начнут расходоваться платные. Таким образом, если у Вас расход 40 000 запросов в месяц, то порции из 100 тысяч платных запросов Вам хватит на 10 месяцев.

REST API позволяет получить данные в JSON, JSONP, XML и MessagePack форматах. Все данные в кодировке UTF-8. За один запрос можно получить информацию до 100 IP. Следует иметь ввиду, что в пакетном режиме (когда запрашивается больше одного IP за раз), будут списываться запросы за каждый IP-адрес в пакете.

Читайте также:  Особенности финансово кредитных систем стран

Описание

Отправьте GET запрос на

или на один из региональных серверов, к примеру, сервер в Москве

API поддерживает запросы на HTTP и на HTTPS.

Поддерживаемые форматы xml, json, jsonp и msg.

В ip можно указывать, как один IPv4, так и несколько IPv4 разделенных запятой, точкой с запятой, пробелом или переводом строки.

Если не указан ни один IP то выводится информация о вашем IP, с которого делается запрос к API.

callback — JSON ответ заворачивается в callback-функцию. Если callback функция не указана, то автоматически добавляется функция console.dir.

Также можно использовать POST запросы, в таком случае нужные IP должны быть указаны в параметре ip.

Для зарегистрированных пользователей указывается ключ (key):

Внимание! Обязательно учитывайте, что на сайт «ходят» не только обычные посетители, но и поисковые боты, которые могут создавать много запросов к сайту и соответственно к API.

Поэтому обязательно фильтруйте запросы от поисковых ботов. Это можно сделать простейшим регулярным выражением, вида:

Также следует кэшировать результаты запросов для пользователей, чтобы при посещении пользователем 100 страниц сайта, не делать 100 запросов к API.

Региональные сервера Sypex Geo API

В 2016 году были запущены дополнительные сервера Sypex Geo API. Сервера расположены в разных странах и городах. Благодаря чему можно значительно уменьшить пинг (ping) до сервера, а соответственно и время доступа к API.

В данный момент доступны 14 серверов:

Восточная Европа и Азия:

  • ua.sxgeo.city — Украина, Хмельницкий (GMhost)
  • ru.sxgeo.city — Россия, Москва (Ihor)
  • ru2.sxgeo.city — Россия, Санкт-Петербург (Vscale)
  • ru3.sxgeo.city — Россия, Екатеринбург (NetAngels)

  • de.sxgeo.city — Германия, Фалькенштайн (Hetzner)
  • nl.sxgeo.city — Нидерланды, Амстердам (Vultr)
  • fr.sxgeo.city — Франция, Гравлин (OVH)
  • it.sxgeo.city — Италия, Ареццо (ArubaCloud)
  • uk.sxgeo.city — Англия, Лондон (ArubaCloud)

  • us.sxgeo.city — США, Нью-Йорк (DigitalOcean)
  • us2.sxgeo.city — США, Маями (VPSServer)
  • us3.sxgeo.city — США, Сан-Хосе (Upcloud)

  • jp.sxgeo.city — Япония, Токио (Amazon)
  • sg.sxgeo.city — Сингапур (Amazon)

Примеры использования

Выводит информацию о вашем IP в JSON.

Выводит информацию в JSON об IP 123.45.67.89.

Выводит информацию в JSON об IP 123.45.67.89 и 12.34.56.78.

Выводит информацию в XML об IP 123.45.67.89.

Выводит информацию в JSONP об IP 123.45.67.89, c callback-функцией alert.

Источник

API геолокации по IP

Быстрый ответ и актуальные данные

Бесплатно для небольших проектов. Наш API бесплатен для 10,000 запросов в месяц (идентификация по IP и Referer)

Простая интеграция, информация об IP адресе может предоставляться в формате JSON, XML или Newline

Наш сервис местоположения по IP в режиме реального времени используют тысячи разработчиков по всему миру

  • Например:
  • Apps
  • Ваш IP
  • 8.8.8.8
  • 2c0f:fb50:4003::

Почему тысячи разработчиков выбирают наш API?

Мы стремимся предложить самый быстрый и многофункциональный API геолокации по IP.

Быстро

Серверы ipwhois.io распространены по всему миру для обеспечения скорости, надежности и безопасности. Используя GeoDNS мы направляем запросы на ближайший и самый быстрый узел, что обеспечивает быстрый ответ в любой точке мира.

Мощно и просто

Мы предоставляем простой в использовании и при этом очень функциональный API интерфейс. Интегрируйте наш API геолокации уже сейчас, не нужно регистрироваться и вводить свои данные. Это займет несколько минут.

Точные данные

Самообучающаяся нейронная сеть обновляет базу данных в режиме реального времени. Для каждого запроса API у вас всегда будут самые точные данные о местоположении, не беспокоясь об обновлении локальной базы данных.

Мультиязычный ответ

Наш IP API Stack поддерживает ответ на нескольких языках, включая английский, немецкий, русский, японский, французский, китайский, испанский и португальский.

Бесплатно для начинающих вебмастеров

Вы можете использовать наш сервис бесплатно до 10,000 запросов в месяц. Выберите тарифный план который подойдет Вашему проекту.

Безопасно

Все данные, отправляемые и обрабатываемые нашими серверами (за исключением бесплатного тарифа), защищены с помощью 256-битного шифрования SSL (HTTPS).

Персонализируйте контент в зависимости от геолокации с помощью нашего API

Получите доверие покупателей, которые живут на другой стороне земного шара. Станьте признанным международным брендом

Местоположение

С помощью персонализации контента в зависимости от местоположения посетителя Вы можете улучшить поведенческие факторы на 70%. Используя наш API геолокации по IP Вы сможете перенаправлять посетителей на версию сайта на их языке, грамотно настроить рекламный таргетинг, автоматически заполнять поля форм с названием страны, города, телефонного кода, валюты и т.д. Обнаружить и предотвратить мошенничество, зная фактическое местоположение ваших пользователей и сравнивая его с предоставленным платежным адресом.

Часовой пояс

Обработка нескольких часовых поясов является беспокойной и сложной задачей для каждого разработчика. Мы сделаем это за Вас, предоставив API часового пояса. Он возвращает информацию об имени этого временного пояса, смещении времени от UTC и летнего времени. Показывайте время в своих проектах в привычном для посетителя формате.

Валюта

Просто отображая цены только в местной валюте, можно повысить коэффициент конверсии до 40%. Именно по этому мы создали наш сервис с учетом этой возможности, он позволит вам узнать название местной денежной единицы, ISO код и символ валюты, а так же текущий курс по отношению к доллару США, благодаря этому Вы сможете автоматически конвертировать цены в зависимости от местоположения.

Как IP-геолокация помогла нашим клиентам?

Нам доверяют десятки тысяч разработчиков и тысячи компаний по всему миру

«Благодаря IP-геолокации наших посетителей, используя API от ipwhois.io, мы рассчитываем приблизительные даты и стоимость доставки непосредственно на сайте, в зависимости от региона. Мы пользуемся сервисом около года, за это время продажи заметно выросли.»

«ipwhois помог решить проблему персонализации контента в нашем многоязычном приложении. Не было ни одной ошибки или сбоя за более чем год использования API. Сервис действительно прост в использовании, а данные всегда точны и полезны практически для любого приложения.»

«Мы перепробовали десятки сервисов геолокации IP, но остановили свой выбор на ipwhois.io. В первую очередь из-за точности данных и скорости ответа, а так же очень порадовала ценовая политика. Мы нашли тот REST API который отвечает всем современным требованиям.»

Часто задаваемые вопросы об IPWHOIS API

Посмотрите наиболее распространенные вопросы, которые люди задают о ipwhois.io.

Для чего нужен ваш API?

Вы можете использовать ipwhois.io, чтобы отфильтровать трафик, настроить контент в зависимости от местоположения посетителя, отобразить полные названия стран, выполнить автозаполнение форм и многое другое.

Как часто обновляются ваша информация об IP?

Наша база данных обновляется практически в режиме реального времени. Благодаря нейросети интегрированной с несколькими каналами (RIPE, APNIC, ARIN, AFRINIC и другими), доставляющими IP-данные в реальном времени.

Нужен ли ключ доступа для бесплатного плана?

Нет. Бесплатный тариф не требует ключа. Вы можете сразу начинать тестировать API, без лишних регистраций, мы ценим Ваше время.

Сколько запросов я могу сделать?

Вам бесплатно предоставляется до 10,000 запросов в месяц. Смотрите наши цены, если вам нужно больше.

Каково среднее время отклика?

Благодаря мощным серверам на нескольких континентах и ​​высоко оптимизированному программному обеспечению мы достигаем реального отклика до 90 миллисекунд в большинстве частей мира.

Могу ли я использовать это на моем коммерческом сайте?

В настоящее время мы не разрешаем коммерческое использование бесплатного плана. Пожалуйста, ознакомьтесь с нашим профессиональным сервисом для доступа к SSL, расширенным возможностям и коммерческой поддержки.

Перейти на профессиональный план

Техническая поддержка, SSL и коммерческое использование

Источник

Определение города по IP в PHP: 3 способа

Всем привет!

Не скажу, что часто, но время от времени у разработчиков появляется необходимость определения города по IP в PHP скрипте.

Например, вы решили облегчить работу пользователю по вводу контактной информации при оформлении заказа в Интернет магазине. Или хотите устанавливать язык интерфейса сайта в зависимости от страны, из которой к вам на сайт зашёл посетитель.

Ну, а чаще всего определение города по IP в PHP с помощью GeoIP, наверное, нужно разработчикам различных рекламных сетей, чтобы предлагать пользователям таргетированную рекламу в зависимости от географического местоположения.

Самому мне узнать страну по IP в PHP скрипте понадобилось всего один-единственный раз, когда я решил загружать на сайт виджеты различных соцсетей для пользователей из разных стран. Подробнее о том, зачем не это понадобилось и что в итоге получилось, я напишу в следующей статье.

А пока поговорим о том, сколько способов определения города и страны по IP в PHP существует и какие варианты их реализаций существуют.

PHP GeoIP — стандартный функционал стороннего производства

Я специально так озаглавил описание первого способа. Дело в том, что в самом PHP определить город и страну по IP адресу нельзя — язык не обладает для этого необходимыми инструментами.
Зато в официальной документации есть подсказка, как это сделать.

PHP GeoIP — это сторонняя библиотека, которую необходимо подключать дополнительно, несмотря на то, что описание функций, входящих в неё, является частью официальной документации PHP — http://php.net/manual/ru/ref.geoip.php

В принципе, мотивы разработчиков PHP вполне понятны.

Во-первых, включение данного модуля в комплект самого языка требует большого количества серверных ресурсов.

Во-вторых, GeoIP PHP работает на базе перечня IP адресов, соответствующих определённым странам и городам. Поэтому GeoIP PHP требует постоянной поддержки и расширения/модернизации существующей базы, что являлось бы лишней головной болью разработчиков PHP.

Ну, и в-третьих, определение города по IP в PHP — возможность достаточно редко используемая на практике.

В итоге, из-за этих факторов PHP GeoIP является сторонним расширением, поддержкой которого и созданием API для интеграции на существующих сайтах занимается компания MaxMind, ссылка на которую присутствует в описании данной библиотеки.

Я не буду заниматься описанием процесса её установки на сервер, т.к. я сам на практике этим не занимался, и в Интернете на данный момент полно мануалов по установке PHP GeoIP как на Linux, так и на Windows сервера.

Могу только сказать, что у данного способа определения города, страны и прочей гео информации по IP в PHP есть два существенных минуса:

  1. Доступ к базе полной информации по IP адресам, предоставляемой компанией MaxMind, платный. Причём, сумма в долларах, как ни странно 🙂 Бесплатно доступны лишь существенно урезанные варианты — http://dev.maxmind.com/geoip/geoip2/geolite2/
  2. Учитывая, что PHP GeoIP — стороннее расширение, его необходимо будет отдельно устанавливать на сервер, что при условии использования shared хостинга может стать затруднительным мероприятием. Можно конечно, обратиться в техподдержку, но не факт, что вам помогут. Мне, например, при просьбе установить Sphinx отказали.

Определение города по IP в PHP с помощью альтернативных библиотек

Ещё один способ узнать город по IP в PHP скрипте — это использование альтернативных серверных библиотек и баз информации для IP адресов, отличных от MaxMind.

Но они обладают теми же минусами, что и предыдущий вариант, т.к. являются всего лишь конкурентами MaxMind. Доступы к базам и возможность использования их API также платная. Бесплатно можно получить только список стран и городов по IP, в то время как при платном тарифе можно получать более широкий перечень данных.

Единственное преимущество над PHP GeoIP заключается в том, что данные библиотеки интегрируются в PHP коде, а не на уровне сервера, т.е. их можно использовать даже на shared хостингах.

Примером такой библиотеки является предоставляемая сервисом db-ip.com.

Есть ещё и другие, конечно, но я не занимался их целенаправленным поиском. Если вы знаете ещё какие-то, то можете поделиться ними в комментариях.

Кстати, указанный мною сервис предоставляет не только свою PHP библиотеку для получения гео данных по IP клиентов, но и доступ к базам информации по адресам. Так что, в принципе, никто вам не мешает использовать их в PHP GeoIP, чтобы использовать его API, но информацию брать из других источников.

Ну, и уж точно никто вам не мешает написать собственный парсер файлов баз IP адресов для получения из них информации самостоятельно, без всяких сторонних разрешений.

Как определить город по IP в PHP online

Ну, и вот я подошёл к финальному способу как узнать страну по IP в PHP и прочую гео информацию, который использовал сам на практике.

Он заключается в использовании API онлайн сервисов, которые позволяют получать данные по IP адресу в режиме онлайн.

Определять город по IP в PHP я решил именно данным способом, т.к. он лишён главного недостатка предыдущих. А именно, он самый простой в реализации — не нужно ничего устанавливать и настраивать на сервере, а, тем более, просить об этом техподдержку shared хостингов.

Для того, чтобы получить необходимую информацию по IP, достаточно всего лишь отправить запрос на определённый URL и обработать ответ.

Что касается стоимости их использования — в большинстве своём они так же платные, т.к. работают, как правило, на основе существующих коммерческих баз IP. Но есть и бесплатные сервисы, которые предоставляют, возможно, на такую полную информацию, как коммерческие, но зато её можно получать в неограниченном объёме.

Правда, они очень быстро прекращают своё существование, как ни странно, т.к. выжить предоставлением подобных услуг очень сложно. Это показал мой анализ бесплатных online сервисов определения городов и стран по IP, который я проводил в личных целях. Они мелькали на многих сайтах, но при попытке воспользоваться ими было понятно, что они прекратили своё существование.

В итоге, я отыскал то, что мне было необходимо, чем и хочу с вами определиться — http://www.geoplugin.com/

Данный сервис позволяет как определять город и другую информацию по IP на сайте сервиса, так и производить это из кода. Далее я приведу пример определения страны по IP в PHP скрипте с помощью geoplugin.com. Определение IP в PHP коде осуществляется с помощью кода, описанного в статье по ссылке.

Как видите, суть приведённого кода заключается в определении IP адреса клиента, причём учитывается возможность его подключения через прокси, и отправке запроса по API GeoPlugin с дальнейшим декодированием и анализом результатов.

В моём примере, как я уже и говорил, результатом работы данного скрипта будет являться код страны клиента сайта. Вообще, полный список возвращаемых параметров выглядит так (для примера решил взять IP Новосибирской области РФ):

Как видите, данный сервис использует упоминаемый ранее MaxMind (параметр geoplugin_credit), но платную информацию или нет — сложно предположить. С одной стороны, ссылка на источник говорит о том, что используется бесплатный доступ к БД IP, но, с другой, мы видим не только страну и город, но и ещё много всякой информации, включая город, географические координаты координаты (langitude, latitude), текущую валюту и даже её курс.

Так что данный сервис можно назвать PHP GeoIP онлайн. Единственное его отличие от серверного аналога — то, что он получает информацию по IP немного медленнее за счёт отсутствия серверного кэширования. Но это ещё не значит, что его нет на самом сервере GeoPlugin 😉 Так что недостаток этот, скорее, символический.

В любом случае, разработчики GeoPlugin заслуживают на аплодисменты, а, в особенности, ещё и за то, что они даже не захламили своё сайт контекстной рекламой. Т.е. как они вообще выживают — непонятно. Единственный способ сказать им «спасибо» — это пожертвования на PayPal счёт.

Кстати, приведённый мною PHP код для определения города по IP является универсальным. Можете его использовать для получения гео данных и с помощью других сервисов. Единственное, что вам нужно будет в нём изменить — это URL API сервиса и имя необходимых параметров, которые вам нужно будет получить.

На этом у меня всё. Пишите ваши отзывы о статье в комментариях ниже и не забывайте делиться записью со своими друзьями в социальных сетях.

Если у вас есть какие-то замечания или вы хотите поделиться другими способами определения города по IP в PHP, то оставляйте их также в комментариях.

P.S.: если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular и другими технологиями web-разработки.

Опыт разработки проектов различного уровня: лендинги, корпоративные сайты, Интернет-магазины, CRM, порталы. В том числе поддержка и разработка HighLoad проектов. Присылайте ваши заявки на email cccpblogcom@gmail.com.

И с друзьями не забудьте поделиться 😉

Источник

Оцените статью