2009-11-08 6 views
14

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

+0

Я только знать, что есть модуль питона с именем [pywhois] (https://bitbucket.org/richardpenman/pywhois). Чтобы установить его, 'pip install python-whois'. – SparkAndShine

ответ

17

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

Для Python существует pywhois, но со своего веб-сайта кажется несколько незрелым. Также см. this SO question.

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

+0

Да, весь зарегистрированный, не означающий присвоенный ip-адрес, почему он провалился как решение для меня. –

2

Mike Nott создал simple PHP class, что позволяет запрашивать данные who.is для любого домена, который вы хотите.

После того, как вы называете

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

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

0

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

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

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

  • The Whois-сервер для соответствующего домена верхнего уровня (или домен второго уровня)
  • шаблон соответствия для ответа этого сервера WHOIS

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

$whoisApi = new whoisServerList\WhoisApi("apiKey"); 
echo $whoisApi->isAvailable("example.net") ? "available" : "registered"; 
Смежные вопросы