Получение информации о доменном имени

Задача
Необходимо найти контактную информацию или подробности о доменном имени.

Решение
Это делается при помощи класса PEAR Net_Whois:

require 'Net/Whois.php';
$server = 'whois.networksolutions.com';
$query = 'example.org';
$data = Net_Whois::query($server, $query);

Обсуждение
Метод Net_Whois::query() возвращает большую текстовую строку, содержимое которой укрепляет нас в мысли о том, как тяжело порой бывает проанализировать различные результаты поиска Whois:

Registrant:
Internet Assigned Numbers Authority (EXAMPLE2-DOM)
4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292
US
Domain Name: EXAMPLE.ORG
Administrative Contact, Technical Contact, Billing Contact:
Internet Assigned Numbers Authority (IANA) iana@IANA.ORG
4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292
US
310-823-9358
Fax- 310-823-8649
Record last updated on 07-Jan-2002.
Record expires on 01-Sep-2009.
Record created on 31-Aug-1995.
Database last updated on 6-Apr-2002 02:56:00 EST.
Domain servers in listed order:
A.IANA-SERVERS.NET 192.0.34.43
B.IANA-SERVERS.NET 193.0.0.236

Например, для того чтобы выделить имена и IP-адреса серверов доменных имен, сделайте следующее:

preg_match_all('/^\s*([\S]+)\s+([\d.]+)\s*$/m', $data, $dns,
PREG_SET_ORDER);
foreach ($dns as $server) {
print "$server[1] : $server[2]\n";
}

Чтобы получить информацию о домене, необходимо присвоить переменной $server корректное имя Whois-сервера, соответствующего этому домену.


Если сервер не известен, то запросите whois.internic.net:

require 'Net/Whois.php';
print Net_Whois::query('whois.internic.net','example.org');
[whois.internic.net]
Whois Server Version 1.3
Domain names in the .com, .net, and .org domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.
Domain Name: EXAMPLE.ORG
Registrar: NETWORK SOLUTIONS, INC.
Whois Server: whois.networksolutions.com
Referral URL: http://www.networksolutions.com
Name Server: A.IANA-SERVERS.NET
Name Server: B.IANA-SERVERS.NET
Updated Date: 19-aug-2002
>>> Last update of whois database: Wed, 21 Aug 2002 04:56:56 EDT <<<
The Registry database contains ONLY .COM, .NET, .ORG, .EDU domains and
Registrars.

В строке «Whois Server:» говорится, что правильным именем сервера, у которого нужно запросить информацию об example.org, является whois.networksolutions.com.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Отправка почты
Отправка почты в кодировке MIME
Отправка сообщений в новостные группы Usenet
Поиск адресов с помощью LDAP
Поиск в DNS

Вернуться в раздел: PHP / 17. Интернет-службы