Доброго времени суток!
Давно искал инструмент, чтобы быстро можно было узнать принадлежность того или иного телефонного номера к тому или иному оператору связи и/или региону.
Всегда использовал для этих задач МТТ, чего, в принципе всегда хватало.
Но хотелось чего-то ещё более простого и быстрого.
Если Вас также как и меня интересовало что-то подобное, прошу под кат.
Одно время я хотел написать парсер вывода МТТ и отдавать его в структурированном формате. Но всё не доходили руки.
Совсем недавно обнаружил что интересующая меня информация (оказывается!) есть в свободном доступе на сайте «Россвязи», там же имеется поиск по реестру.
Так получилось, что у меня появилось немножко свободного времени и желание покодить «для себя».
В результате с сайта «Россвязи» были скачаны все имеющиеся в открытом доступе реестры, распарсены и экспортированы в базу для последующего удобного поиска.
Что из всего этого получилось можно посмотреть здесь.
Имеющуюся информацию можно получить в формате XML по запросу вида: innum.ru/cgi-bin/info.pl?number=79193410000 и получить ответ вида:
<?xml version="1.0" encoding="UTF-8"?>
<info>
<data>
<begin>3400000</begin>
<end>3599999</end>
<operator>Мобильные ТелеСистемы</operator>
<prefix>919</prefix>
<region>Челябинская область</region>
</data>
</info>
Во избежание хабра-эффекта, действует ограничение — 10 «уникальных» запросов с одного IP-адреса в час.
После выполнения запроса, результат помещается в кэш на 8(восемь) часов. В течение этих 8ми часов запрос не считается «уникальным» и Вы будете продолжать получать ответы по этому запросу без каких-либо ограничений.
Что касается практического применения, то я планирую подключить этот веб-сервис к офисному Asterisk'у (например, через FastAGI).
Буду рад любым пожеланиям/предложениям и аргументированной критике в комментариях.
Спасибо за внимание.
Автор: MuVO