Я создаю простое веб-приложение, чтобы научиться node.js, и в нем мне нужно проверить, зарегистрировано ли определенное доменное имя, указанное пользователем. Я не совсем уверен, как это сделать, и я был бы признателен, если бы кто-нибудь мог меня просветить.
Как с помощью Node.js проверить, зарегистрировано ли доменное имя?
Ответы (4)
Взгляните на эту статью Мэтта Брубека:
http://limpet.net/mbrubeck/2010/01/13/si-unit-domains-node-js.html
Существует скрипт Node.js, который делает именно это.
person
rsp
schedule
17.02.2011
Я думаю, что лучший способ сделать это - использовать модуль dns
для выполнения resolve
, и если ничего не возвращается или возникает ошибка, она еще не зарегистрирована.
https://nodejs.org/api/dns.html
person
Kevin Gorski
schedule
17.02.2011
Использовать DNS-запросы для этой нужды неправильно. Доменное имя может быть зарегистрировано без делегирования по нескольким законным причинам, поэтому у вас будут ложные срабатывания.
- person Patrick Mevzek; 04.01.2018
Запустите что-то вроде этого:
//loads the Node core DNS module
var dns = require ( 'dns' )
function checkAvailable( url ) {
//uses the core modules to run an IPv4 resolver that returns 'err' on error
dns.resolve4( url, function (err, addresses) {
if (err) console.log (url + " is possibly available : " + err)
})
}
// calls the function of a given url
checkAvailable( "ohwellhaithar.com" )
person
EhevuTov
schedule
07.07.2012
Использовать DNS-запросы для этой нужды неправильно. Доменное имя может быть зарегистрировано без делегирования по нескольким законным причинам, поэтому у вас будут ложные срабатывания.
- person Patrick Mevzek; 04.01.2018
@PatrickMevzek, что вы предлагаете в качестве более эффективного способа проверки DNS? Я сделал что-то в соответствии с предложением EhvuTov здесь, что теперь также можно использовать в качестве API: clay.run/services/nicoslepicos/is-domain-name-available/code Для использования в качестве API просто нажмите: POST exec.clay.run/nicoslepicos/is-domain-name-available с параметром доменного имени в теле POST (или используйте Clay SDK, если вы находитесь в узле).
- person nicoslepicos; 22.02.2018
Чтобы выполнить проверку доступности/регистрации домена (не проверку DNS), либо используйте протокол
whois
, либо специальную службу реестра для проверки доступности домена (зависит от TLD), либо используйте API одного регистратора, у которого есть нужные вам TLD, поскольку регистраторы , обычно через EPP, могут выполнять проверки доступности в реальном времени в реестре. Также в приведенном выше ответе url и доменное имя не являются взаимозаменяемыми, то, что обрабатывается выше, является доменными именами, а не URL-адресами.
- person Patrick Mevzek; 22.02.2018
Я не нашел правильного ответа на этот вопрос. Мое решение здесь
https://www.npmjs.com/package/whois
person
x-magix
schedule
20.12.2019