Использование WhoIs для определения доступности домена

Я использую API, который выполняет запрос WhoIs для определения доступности доменов.

Тем не менее, кажется, что каждый TLD дает свой ответ, поэтому мне нужно создать индивидуальный поиск для каждого из них:

result.match("No match for") //.com
result.match("NOT FOUND") //.info, .org
!result.match("Administrative")//.biz
result.match("Invalid query or domain")//.tk
!result.message.match("registered")//.ca
result.match("No Match")//.edu
result.match("Status: free")//.de
result.match("Not found:")//.de

Есть еще сотни TLD, которые нужно пройти. Конечно, это не лучший способ сделать это. Существует ли более простой способ определить, зарегистрирован домен или нет?

2 ответа

К сожалению нет. Единственный способ определить, доступен домен или нет, - это через вызов whois. Вы не можете использовать альтернативные способы, такие как DNS, потому что даже если домен не разрешается, это не означает, что он доступен.

Основная проблема заключается именно в этом: каждый сервер может ответить совершенно другой строкой. Если вы действительно хотите сделать это правильно, вы должны собрать все различные строки или проверить на большой набор возможностей.

Я автор библиотеки Ruby Whois. Пока что это единственная библиотека с открытым исходным кодом, которая предоставляет спецификации и парсеры для каждого ответа. Проверьте это, вы можете использовать его напрямую или получить от него различные ответы, код с открытым исходным кодом.

Также имейте в виду, что если вы не хотите иметь дело с этим, есть сервисы, которые вы можете использовать для проверки доступности домена.

Вот несколько из них:

Отказ от ответственности: я автор RoboWhois.

Я пытаюсь решить эту проблему путем составления полного списка серверов Whois. Этот список содержит более 500 доменов верхнего уровня. Не стесняйтесь использовать этот список.

Однако если вы не хотите постоянно обновлять список или устанавливать ограничения на whois-сервер, я могу порекомендовать вам мой Whois API, который также использует этот список.

Другие вопросы по тегам