Проверка регистрации имени домена

Как я могу проверить, зарегистрировано ли доменное имя? Я думал о проверке наличия соответствующего IP-адреса, но он, похоже, не работает так, как я надеялся. Есть ли решение на PHP или Python, которое можно проверить?

«Зарегистрированный» не означает «назначенный IP-адрес». Чтобы узнать, зарегистрировано ли имя домена, вам нужно выполнить запрос whois.

Для Python есть pywhois , но со своего веб-сайта кажется несколько незрелым. Также см. Этот вопрос .

Для PHP есть … сюрприз … phpwhois .

Майк Нотт создал простой PHP-класс, который позволяет запрашивать данные who.is для любого домена, который вы хотите.

Как только вы позвоните

  $whois = getwhois($sld, $tld); 

вам просто нужно проверить содержимое $whois чтобы определить, зарегистрирован ли домен в настоящее время.

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

 require_once ¨Net/Whois.php¨; $whois = new Net_Whois; $whois->authorative = true; $data = $whois->query(¨example.com¨); 

Чтобы проверить, зарегистрировано ли имя домена, вам нужны две информации:

  • Сервер whois для соответствующего домена верхнего уровня (или домена второго уровня)
  • Соответствующий шаблон для ответа этого сервера whois

Эти данные часто меняются. Этот список Whois Server пытается скомпилировать необходимую информацию для более чем 500 доменов верхнего уровня. Список также предлагает службу API для проверки наличия домена. Клиент PHP для этого API будет whois-api-php :

 $whoisApi = new whoisServerList\WhoisApi("apiKey"); echo $whoisApi->isAvailable("example.net") ? "available" : "registered";