Если у меня есть домен, такой как www.example.com
, и я хочу проверить, доступен ли он с помощью записей DNS (не whois) ...проверить, доступен ли домен или нет с помощью PHP?
Возможно ли это сделать с помощью PHP?
Если у меня есть домен, такой как www.example.com
, и я хочу проверить, доступен ли он с помощью записей DNS (не whois) ...проверить, доступен ли домен или нет с помощью PHP?
Возможно ли это сделать с помощью 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";
}
?>
Это показывает как найдено для всего ... example - if (checkdnsrr ('examjhkasdjkhbasdle.com', 'ANY')) { echo "DNS Record found"; } else { echo "NO DNS Record found"; } – David19801
вот второй пример использования gethostbyname: Php $ domain = 'asdasdxample.com'; if (gethostbyname ($ domain)! = $ Domain) { echo "Запись DNS найдена"; } else { echo "NO DNS Record found"; } ?> – favo
Решение: для проверки checkdnsrr вы должны добавить период после имени домена, например: checkdnsrr ('example.com.', "ANY") – David19801
, кажется, что в стандартной библиотеке 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 не возвращается для домена, который не может быть зарегистрирован.
Следующий вопрос предлагает еще некоторые детали: Checking if a domain name is registered
Если на «доступен», вы имеете в виду для покупки или регистрации, вы не можете определить это надежно с помощью DNS. Например, 'moose9moose2.ph' доступен, но имеет запись A. Хотя 'ph.moose9moose2' не имеет записей DNS, но недоступен для регистрации. Вы можете попытаться добавить правила, чтобы охватить все возможные случаи, но вы, вероятно, никогда не закончите. –
@David, Правильно, но если dns недостаточно, что бы вы рекомендовали вместо этого? – David19801
См. Вопрос, который вы дублировали: Whois. – KingCrunch