当我在Linux上使用命令测试时,发生如下错误,可以帮助我修复它吗?
sudo 节点 -pe 'require("dns").lookup(" http://www.amazon.com ",function(){console.dir(arguments)})'
GetAddrInfoReqWrap {
callback: [Function],
family: 0,
hostname: 'http://www.amazon.com',
oncomplete: [Function: onlookup] }
{ '0':
{ Error: getaddrinfo ENOTFOUND http://www.amazon.com
at errnoException (dns.js:55:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:26)
code: 'ENOTFOUND',
errno: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'http://www.amazon.com' } }Run Code Online (Sandbox Code Playgroud)
一些系统信息:node -v v9.2.0
uname -a Linux 10-101-169-37 4.0.0-040000-generic #201504121935 SMP Sun 4 月 12 日 23:36:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
只需删除协议即可。当您想要解析 DNS 记录时,不需要协议。
DNS 协议并不关心它的http、https、ftp、'smtp` 等...只是想要解析 A 记录。
不做http://www.amazon.com做www.amazon.com
这应该有效
sudo node -pe 'require("dns").lookup("www.amazon.com",function(){console.dir(arguments)})'
Run Code Online (Sandbox Code Playgroud)