Проверить, доступен ли домен или нет с помощью PHP?
Если у меня есть домен, например www.example.com
, и я хочу проверить, доступен ли он, используя записи DNS (не whois)...
Можно ли это сделать с помощью PHP?
Ответы
Ответ 1
Вы можете использовать checkdnsrr или gethostbyname:
Документация:
http://www.php.net/checkdnsrr
http://www.php.net/gethostbyname
Пример checkdnsrr:
<?php
if ( checkdnsrr('example.com.', 'ANY') ) {
echo "DNS Record found";
}
else {
echo "NO DNS Record found";
}
?>
Пример gethostbyname:
<?php
$domain = 'example.com';
if ( gethostbyname($domain) != $domain ) {
echo "DNS Record found";
}
else {
echo "NO DNS Record found";
}
?>
Ответ 2
похоже, что это в стандартной php-библиотеке, проверьте эту функцию
http://php.net/manual/en/function.dns-get-record.php
Ответ 3
Конечно. Это, что происходит для доступного домена.
Ответ 4
Некоторые из API, которые будут выполнять эту работу.
http://www.whoisxmlapi.com/domain-availability.php
http://www.dynadot.com/domain/api.html
http://www.opensrs.com/site/integration/api
Ответ 5
Мне нужно пойти на этот пакет Domain-Availability, он поддерживает множество доменов верхнего уровня и написан на объектно-ориентированном уровне.
Ответ 6
Это зависит от того, что вы подразумеваете под "доступным". Если вы имеете в виду доступность для регистрации, невозможно определить только на основе информации DNS. Должна использоваться система whois. Простым способом тестирования является использование неиспользуемого имени домена и установка серверов имен на что-то недействительное. DNS не будет доступен, но домен по-прежнему недоступен для регистрации. Я просто проверил предложения checkdnsrr(), gethostbyname() и dns_get_record(). Все показывают, что DNS не возвращается для домена, который не может быть зарегистрирован.
Следующий вопрос предлагает более подробную информацию:
Проверка регистрации имени домена