Я пытаюсь создать API-интерфейс в Nodejs, который берет URL-адрес и проверяет, является ли он действующим веб-сайтом.
В настоящее время dns.lookup отклоняет любые недействительные URL-адреса (поддельные веб-сайты) и принимает любые допустимыеURL, если они не начинаются с HTTP: // или HTTPS: //.Это проблематично, поскольку допустимые URL-адреса отклоняются.
Таким образом, этот URL-адрес создает сообщение «Нет ошибок»:
dns.lookup('www.google.ca', function onLookup(err, address, family)
if (err == null) {
console.log ('No Errors: ' + err + ' - ' + address + ' - ' + family)
} else {
console.log ('Errors: ' + err + ' -- ' + address + ' -- ' + family)
}
});
А этот URL-адрес с HTTPS создает сообщение «Ошибки»:
dns.lookup('https://www.google.ca/', function onLookup(err, address, family)
if (err == null) {
console.log ('No Errors: ' + err + ' - ' + address + ' - ' + family)
} else {
console.log ('Errors: ' + err + ' -- ' + address + ' -- ' + family)
}
});
Вывод console.log:
Ошибки: ошибка: getaddrinfo ENOTFOUND http://www.google.ca/ - не определено - не определено
Есть лиспособ настроить dns.lookup для приема URL-адресов, начинающихся с HTTP или HTTPS?