Если у меня есть домен, такой как www.example.com
и я хочу проверить, доступен ли он с помощью записей DNS (а не whois) …
Можно ли это сделать с помощью PHP?
Вы можете использовать checkdnsrr или gethostbyname:
Документация:
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"; } ?>
похоже, что это в стандартной php-библиотеке, проверьте эту функцию http://php.net/manual/en/function.dns-get-record.php
Конечно . Это то, что происходит для доступного домена.
Некоторые из API, которые будут выполнять эту работу.
http://www.whoisxmlapi.com/domain-availability.php
Я должен пойти на этот пакет Domain-Availability, он поддерживает много доменов верхнего уровня и написан на объектно-ориентированном уровне.
Это зависит от того, что вы подразумеваете под «доступным». Если вы имеете в виду доступность для регистрации, невозможно определить только на основе информации DNS. Должна использоваться система whois. Простым способом тестирования является использование неиспользуемого имени домена и установка серверов имен на что-то недействительное. DNS не будет доступен, но домен по-прежнему недоступен для регистрации. Я просто проверил предложения checkdnsrr (), gethostbyname () и dns_get_record (). Все показывают, что DNS не возвращается для домена, который не может быть зарегистрирован.
Следующий вопрос предлагает более подробную информацию: проверка регистрации имени домена