Whois-запросы на PHP используя proxy.

who-is1

Уже довольно давно в работе постоянно приходится иметь дело с whois-запросами.
Объемы постоянно росли, доменные зоны менялись, поэтому менялись и методы работы.
Сперва скриптик был крайне простым. Нечто вроде:

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

Однако со временем, объем запросов значительно вырос и возникла проблема с лимитами на запросы (RIPN ограничивает количество запросов с одного IP до 30 в минуту). Следовательно, возникла необходимость использовать proxy-сервера. Благо, есть возможность настроить себе сколько угодно proxy-серверов на dedicated-сервере (были бы IP-адреса =).
Скрипт научился работать с whois-серверами с помощью cURL:

Скрипт верой и правдой отработал несколько лет. Однако появилась необходимость расширить диапазон доменных зон. И тут я столкнулся с проблемой – на запросы через прокси, зарубежные whois-серверы отдавали невнятный ответ: “Neither object nor interpretation control keyword found”.
Как ни ковырял cURL, так и не смог заставить скрипт работать правильно. Скорее всего, cURL просто отправляет какие-то заголовки, которые не может интерпретировать whois-сервер. Задача ясна – нужна работа с прокси без использования cURL.
После довольно продолжительного гугления был найден замечательный класс для работы с socks5/socks4/socks4a прокси-серверами от Jinn.
В результате код получился таким:

Осталось только обрамить всё это благополучие в нормальный интерфейс или класс и можно пользоваться =)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">