nodejs dns error getaddrinfo ENOTFOUND

时间:2017-12-11 10:22:07

标签: node.js linux dns

当我使用命令在Linux上进行测试时,错误发生在下面,可以帮我修复它吗?

sudo node -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' } }

某些系统信息: node -v v9.2.0

uname -a Linux 10-101-169-37 4.0.0-040000-generic#201504121935 SMP Sun Apr 12 12:36:33 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

1 个答案:

答案 0 :(得分:2)

只需删除协议即可。当您想要解析dns记录时,不需要协议。

DNS协议并不关心其httphttpsftp,' smtp`等......只是想要A记录来解决。

不要http://www.amazon.comwww.amazon.com

这应该有效

sudo node -pe 'require("dns").lookup("www.amazon.com",function(){console.dir(arguments)})'