Наиболее эффективный способ программно определить, доступен ли веб-домен?

StackOverflow https://stackoverflow.com/questions/106734

Вопрос

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

  • A) В linux / cygwin я могу запустить команду whois, чтобы узнать, используется ли домен .
  • B) В Linux / Windows я могу запустить команду nslookup, чтобы увидеть, разрешим ли домен.

Мои вопросы таковы:

  1. Действительно ли nslookup является допустимым способом проверки наличия регистрации?Есть ли у каждого зарегистрированного домена сервер имен и отображается ли он в DNS?
  2. Каков самый быстрый способ пройти эту проверку при регистрации?Есть какие-нибудь советы или другие способы сделать это?
Это было полезно?

Решение

nslookup обращается к вашему dns-серверу, который указан в настройках вашей системы.Он может отстать от времени или не содержать никакой записи dns.Я бы подумал, что лучшим способом было бы установить tcp-соединение с whois.internic.net порт 43 (порт whois), передать имя, которое вы хотите проверить, и затем вы должны получить ответ, сообщающий вам об этом.Если он не существует, вы получите ответ типа Не подходит для "domainyourchecking.com"

Другие советы

Что касается №1, то нет.Нет требования, чтобы зарегистрированные домены действительно имели DNS.

Проблема с whois заключается в том, что нет согласованного ответа от разных tld.

Так что, если вы ищете только .com или какой-то другой конкретный tld, все в порядке.Если вы начнете просматривать различные ccTLD или другие gTLD, вы можете обнаружить множество специальных обработок в своей логике, пытаясь выяснить, что означает "доступно" в данных, возвращаемых командой whois.

Whois всегда возвращает командной строке результат успешного выполнения, даже если домен доступен.:(

Ходят слухи, что некоторые веб-сайты, которые позволяют вам искать домены, на самом деле являются прикрытием для доменных спекулянтов, которые скупят домен, как только вы его найдете, а затем попытаются продать его вам.Я никогда не сталкивался с подобной аферой, но вы, возможно, захотите попробовать несколько поисковых запросов по мусорным доменам на новом сайте, прежде чем искать доменное имя своей мечты.

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

система("whois $domainname");

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top