Самый эффективный способ программно определить, доступен ли веб-домен? - PullRequest
10 голосов
/ 20 сентября 2008

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

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

Мои вопросы:

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

Ответы [ 6 ]

9 голосов
/ 20 сентября 2008

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

8 голосов
/ 20 сентября 2008

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

2 голосов
/ 16 апреля 2009

Проблема с whois состоит в том, что нет последовательного ответа от разных tld.

Так что, если вы ищете только .com или какой-то другой конкретный материал, все в порядке. Если вы начнете просматривать различные ccTld или другие gTld, вы можете обнаружить в своей логике множество специальных регистров, пытающихся выяснить, что означает «доступный» в данных, возвращаемых командой whois.

Whois всегда возвращает успех в оболочку, даже когда домен доступен. (

1 голос
/ 20 сентября 2008

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

0 голосов
/ 20 сентября 2008

system ("whois $ domainname");

0 голосов
/ 20 сентября 2008

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

...