Nodejs dns 错误 getaddrinfo ENOTFOUND

use*_*608 6 linux dns node.js

当我在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

Sta*_*mos 4

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

DNS 协议并不关心它的httphttpsftp、'smtp` 等...只是想要解析 A 记录。

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

这应该有效

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

  • 是的,没关系,DNS 协议不关心它的“http”、“https”、“ftp”、“smtp”等是否只需要 A 记录 (2认同)