Совместимая замена ipinfo.io
Компактный JSON ipinfo со строкой loc и строкой org с префиксом в виде номера AS воспроизводится на ipinfo.mygeocode.com. Официальные клиентские библиотеки ipinfo принимают собственный базовый URL, поэтому они тоже работают.
Измените одно имя хоста
| Исходный хост |
|
|---|---|
| Используйте вместо него | ipinfo.mygeocode.com |
| Параметр ключа | token (необязательно: любой адрес получает 2 500 запросов в день без ключа; укажите здесь свой ключ My Geocode, чтобы пользоваться балансом, пакетами и историей использования) |
curl "https://ipinfo.io/8.8.8.8/json?token=YOUR_IPINFO_TOKEN"curl "https://ipinfo.mygeocode.com/8.8.8.8/json?token=YOUR_MYGEOCODE_KEY"Почему переходят
Бесплатный тариф ipinfo даёт 50 000 запросов в месяц без данных геолокации в некоторых полях. Здесь каждый ключ получает 2 500 запросов в день со всеми полями, а платное использование оплачивается за запрос или по фиксированной цене.
Та же бесплатная квота, с ключом или без. Запросы к ipinfo.mygeocode.com учитываются в тех же 2 500 бесплатных запросах в день, которые ваш адрес или ваш ключ получает на наших собственных эндпоинтах. Сверх этого: предоплаченный баланс по 0,0001 € за запрос или 50 € в месяц за ключ Unlimited. Для регистрации нужен только адрес электронной почты.
Эндпоинты
| Путь на ipinfo.mygeocode.com | Что делает | На основе |
|---|---|---|
/{ip}/json | Определение по адресу | Определение IPv4 |
/{ip} | Определение по адресу (тот же ответ) | Определение IPv4 |
/json | Определение вызывающей стороны | Определение IPv4 |
/{ip}/{field} | Одно поле, простой текст (city, country, loc, org, timezone) | Определение IPv4 |
Пример ответа
Вот что возвращает запрос выше. Названия полей, вложенность и типы соответствуют ipinfo. Наши только данные за ними.
{
"ip": "8.8.8.8",
"hostname": "dns.google",
"city": "Mountain View",
"region": "California",
"country": "US",
"loc": "37.4056,-122.0775",
"org": "AS15169 Google LLC",
"postal": "94043",
"timezone": "America/Los_Angeles"
}Подробности и отличия
Для первых 2 500 запросов в день ключ не нужен. Чтобы использовать ключ My Geocode, укажите его там, где был ключ ipinfo.io: в параметре запроса token, в виде Bearer-токена или через curl -u YOUR_KEY:, как в примерах самого ipinfo. Заголовок X-API-Key, Authorization: Bearer и базовая HTTP-аутентификация (ключ в качестве имени пользователя) тоже работают на каждом хосте, поэтому клиентские библиотеки со своим способом аутентификации продолжают работать без изменений.
Ответы содержат те поля, которые возвращает ipinfo.io, и ничего больше, поэтому ответ можно передать коду, который уже разбирает ipinfo.io. Наши дополнительные данные (высота рельефа, угрозы и сведения о сети) доступны по запросу: добавьте mg_extras=1 в запрос или отправьте X-MG-Extras: 1.
hostnameберётся из обратного DNS-запроса и опускается, если у адреса нет записи PTR, в точности как у ipinfo.anycastпоявляется, если адрес является anycast, а зарезервированные диапазоны возвращаютbogon.- Недействительный адрес возвращает 404 с телом ipinfo «Wrong ip».
- Поле
readmeникогда не появляется, потому что каждый запрос здесь аутентифицирован. - Эндпоинты отдельных полей (
/8.8.8.8/cityи подобные) возвращают простой текст. POST /batchработает так же, как у ipinfo: JSON-массив до 1 000 адресов, путейaddress/fieldили полных URL возвращает объект с ключом для каждой записи,filter=1отбрасывает пустые, и каждая запись считается одним запросом, как их считает ipinfo. Пакет, превышающий остаток дневной квоты, отклоняется целиком с ответом ipinfo 429, а не обрабатывается частично.
Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.
Другие совместимые хосты
- Google Maps
- Bing Maps
- HERE
- Mapbox
- Geocode.Farm
- Nominatim (OSM)
- OpenCage
- LocationIQ
- Geoapify
- TomTom
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipstack
- Open-Elevation
Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.