Скрипт проверки доступности доменов в зоне ru

Автоматизация проверки доменов в зоне .ru позволяет сократить время подбора имени с 2-3 часов ручного поиска до 15-20 секунд машинного сканирования. В условиях, когда ежегодно регистрируется более 1.5 млн новых имен в РФ, скорость реакции определяет, заберете вы премиальный домен или он уйдет перекупщикам.

Метод WHOIS против DNS-запросов

Для проверки доступности .ru чаще всего используют протокол WHOIS (порт 43) или проверку DNS-записей через checkdns(). WHOIS дает 100% точность, но ограничен лимитами: серверы регистраторов блокируют IP после 30-50 запросов в минуту. DNS-запрос работает в 5-10 раз быстрее, но дает ложноположительный результат: если домен занят, но для него не прописаны NS-записи, скрипт ошибочно покажет его как свободный.

Кейс: при парсинге базы из 1000 вариантов через DNS-запросы доля ошибок составила около 4%, что критично при автоматической покупке. Вывод: для массового первичного фильтра используйте DNS, для финального подтверждения — только WHOIS.

Обход лимитов и работа с прокси

Серверы Whois.ru и других регистраторов жестко лимитируют частоту запросов. Чтобы обрабатывать более 100 доменов в час, необходимо внедрить ротацию прокси. Стоимость качественных резидентских прокси для таких задач варьируется от $3 до $15 за ГБ трафика, хотя объем данных в WHOIS минимален.

Практика показывает, что задержка (sleep) в 2-5 секунд между запросами с одного IP позволяет обходить базовые фильтры, но замедляет процесс до 12-20 доменов в минуту. Экспертный вывод: для профессионального мониторинга используйте пул из 10-15 IPv4 адресов, чтобы держать скорость на уровне 200+ проверок в минуту без риска бана.

Оптимизация PHP-скрипта: регулярные выражения

Главная ошибка новичков — поиск слова «свободен» в ответе WHOIS. Ответы серверов меняются, и формат может отличаться. Правильный подход — поиск конкретных статус-кодов или отсутствие строки «domain:». Использование регулярных выражений (preg_match) позволяет обрабатывать ответ за миллисекунды.

Пример: проверка строки 'no match' или 'NOT FOUND' для разных серверов зоны .ru. Если скрипт работает в многопоточном режиме (через curl_multi или ReactPHP), нагрузка на CPU вырастает на 15-20%, но время обработки списка из 500 доменов сокращается с 15 минут до 40 секунд. Вывод: используйте регулярные выражения и асинхронность для масштабирования.

API регистраторов против самописных решений

Использование API (например, Reg.ru или Nic.ru) снимает проблему с прокси и блокировками, но вводит финансовые и технические ограничения. Бесплатные лимиты API часто ограничены, а платные тарифы для реселлеров требуют депозита от 5 000 до 50 000 рублей. При этом скорость API выше в 2-3 раза, чем при прямых WHOIS-запросах.

Сравнение: самописный скрипт на прокси обходится в $5-10/мес, API-решение — в стоимость депозита и комиссии. Мое мнение: если вам нужно проверить 100-500 доменов разово, выбирайте самописный скрипт; для постоянного сервиса мониторинга — только API. Здесь важно понимать сравнение типов PHP-решений, чтобы не переплачивать за избыточный функционал.

Вывод

Для разового подбора домена оптимален простой PHP-скрипт на базе fsockopen с задержкой в 3 секунды. Для коммерческих инструментов мониторинга единственный жизнеспособный вариант — связка API регистратора и кэширования результатов в Redis/MySQL, чтобы не повторять запросы к одним и тем же именам. Избегайте чистого DNS-метода, так как риск пропустить занятый домен без NS-записей слишком высок для бизнес-задач.

Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии