×
Ruby on Rails: постинг твитов через Twitter API (04 нояб 2017)

Практикуемся в Ruby on Rails.

Вопрос MaxMind: IP Geolocation

Больше
10 мес. 1 нед. назад - 10 мес. 1 нед. назад #1 от serge
serge создал эту тему: MaxMind: IP Geolocation
В комментариях к материалу Снова Maxmind, снова погодные информеры, и снова ajax поступил интересный вопрос, касающийся бесплатного легального использования баз Maxmind. Спешу привести затребованный API PHP.
Качаем geoip2.phar со странички по первой ссылке, а по второй (прямая ссылка на свежий релиз) качаем GeoLite2 City, MaxMind DB binary, gzipped базу (которую не забываем распаковать, иначе вряд ли заработает):

https://github.com/maxmind/GeoIP2-php/releases
http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz

Ну и пых-код выглядит соответственно так, как показано далее. Обратите внимание, пути к geoip2.phar и GeoLite2-City.mmdb должны соответствовать реальным. При необходимости все то же самое можно сделать и через composer, подробности на GitHub :

<?php
require 'geoip2.phar';
use GeoIp2\Database\Reader;
$reader = new Reader('GeoLite2-City.mmdb');
$ip = $_SERVER['REMOTE_ADDR'];
$record = $reader->city($ip);
print($record->country->isoCode . "\n");
print($record->country->name . "\n");
print($record->country->names['zh-CN'] . "\n");
print($record->mostSpecificSubdivision->name . "\n");
print($record->mostSpecificSubdivision->isoCode . "\n");
print($record->city->name . "\n");
print($record->postal->code . "\n");
print($record->location->latitude . "\n");
print($record->location->longitude . "\n");

В результате получаем следующую примерно информацию, которой можем распорядиться как угодно. Только базу MaxMind не забываем теперь обновлять раз в месяц:

RU Russia 俄罗斯 St.-Petersburg SPE Saint Petersburg 190020 59.8944 30.2642

А я смогу! - А поглядим! - А я упрямый!
Последнее редактирование: 10 мес. 1 нед. назад от serge.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 мес. 1 нед. назад #2 от miha
miha ответил в теме MaxMind: IP Geolocation
Какая база лучше определяет геолокацию по ip? Maxmind или Sypexgeo ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 мес. 1 нед. назад #3 от rashid-ad-din
rashid-ad-din ответил в теме MaxMind: IP Geolocation

miha пишет: Какая база лучше определяет геолокацию по ip? Maxmind или Sypexgeo ?



Думаю, все бесплатные базы определяют примерно одинаково...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 мес. 1 нед. назад #4 от Прохожий
Прохожий ответил в теме MaxMind: IP Geolocation
Размер базы sypex geo ровно в четыре раза меньше чем размер GeoLite2Sity Maxmind. ЛОгично предположить, что Maxmind более подробно отдает данные по ip ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 мес. 1 нед. назад #5 от Aleksej
Aleksej ответил в теме MaxMind: IP Geolocation
Прикрутил Maxmind GeoLite2-City к jWeather by ip , погодному информеру для Joomla-сайта... теперь у всех джумлаводов есть возможность беспристрастно сравнить Supex Geo и MaxMind (в бесплатных, свободно распространяемых реализациях). Версия модуля заведомо проходная, постараюсь в феврале допилить и опубликовать наконец v.1.0.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.