Здравствуйте, возникла задача определения города по IP-адресу. Скачал с сайта http://ipgeobase.ru (думаю все про него знают) свежую базу geo_files.tar.gz. Там два файла: cities.txt (города) и cidr_optim.txt (IP-адреса). По идее в файле cidr_optim.txt должны быть айдишники городов из первого файла, но почему-то я их не вижу там.
Вот строчка из второго файла:
33554432 34603007 2.0.0.0 - 2.15.255.255 FR -
Диапазоны айпишников есть, а айдишника нет (вместо него тире).
Может я чего-то не понимаю, помогите, пожалуйста. Может есть другие базы с других сайтов. Заранее спасибо.
Помогите, пожалуйста, с определением города по IP-адресу
(Ответов: 4, Просмотров: 1748)
- 31.12.2011 20:31
- 01.01.2012 21:56
К чему мучения? XML интерфейс не подходит? http://blog.ipgeobase.ru/?p=76
В комментариях есть кусок кода, все просто и понятно. Да и ограничений никаких пока что не накладывают, так что можно пользоваться. - 01.01.2012 22:07
Crasher69, Да такой способ медленный для многократных обращений пользователей, хочется локально иметь базу, чтобы быстро все работало
- 01.01.2012 22:25
На данный момент думать особо не хочется, скачал файл, поразбирался что есть что.
- cities.txt айдишники городов идут первыми, к примеру Краснодар - 1427
- во втором файле айдишники располагаются в конце строки. Если вместо айди прочерк, то получается, что город неизвестен, а известна только страна. Для Краснодара один из диапазонов:
1307115520 1307123711 77.233.0.0 - 77.233.31.255 RU 1427
1 и 2 цифры - как я понял количество айпишников (следующий диапазон начинается с 1307123712), далее диапазон, страна, и айдишник города.
Сейчас на ночь что-то не могу придумать нормального алгоритма поиска по всей этой базе. Но в цикле смотреть все диапазоны в поисках нужного это как-то не этично и медленно, даже предлагать не буду.
Как вариант загнать всю эту базу в mysql, сделать индексы по айпишнику (первые два байта), тогда выборки будут быстрыми.Спасибо сказали:
archerl(01.01.2012), - 01.01.2012 22:41
Crasher69, Спасибо за помощь, только не пойму, зачем эти записи с прочерком, просто страну знать - особой пользы нет
Тэги топика:
- cidr_optim,
- ip-адрес,
- айдишник,
- база,
- город,
- есть,
- может,
- определение,
- пожалуйста,
- помочь
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Помогите с определением CMS | Софт, скрипты, сервисы | 4 | 17.12.2011 03:55 |
Помогите пожалуйста :( экзамен | Оффтоп и свободные темы | 0 | 16.06.2011 11:52 |
Помогите пожалуйста с версткой | Web программирование | 1 | 27.04.2011 18:03 |
Помогите по верстке пожалуйста! | Web программирование | 1 | 30.01.2011 13:49 |
Интересные темы
яндекс краснодар
Здесь можно узнать про все новые подробности относительно новой поисковой программы яндекса краснодар.




