2013-04-19 3 views
2

Я использую API, который выполняет запрос WhoIs для определения доступности доменов.Использование 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 

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

ответ

3

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

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

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

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

Вот некоторые из них:

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

1

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

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

+0

Thanks Markus, чтобы предоставить список открыто и поддерживать его. –

Смежные вопросы