关于node.js:nodeDNS

10次阅读

共计 1987 个字符,预计需要花费 5 分钟才能阅读完成。

Node.js DNS 模块用于解析域名

办法

dns.lookup(hostname[, options], callback)

将域名(比方 ‘runoob.com’)解析为第一条找到的记录 A(IPV4)或 AAAA(IPV6)。参数 options 能够是一个对象或整数。如果没有提供 options,IP v4 和 v6 地址都能够。如果 options 是整数,则必须是 4 或 6。

const dns = require('node:dns')

dns.lookup('www.baidu.com', (err, address, family) => {console.log('address: %j family: IPv%s', address, family);
    // address: "14.119.104.189" family: IPv4

});

dns.lookupService(address, port, callback)

应用 getnameinfo 解析传入的地址和端口为域名和服务。

dns.resolve(hostname[, rrtype], callback)

将一个域名(如 ‘nodejs.org’)解析为一个 rrtype 指定记录类型的数组.

dns.reverse(ip, callback)

反向解析 IP 地址,指向该 IP 地址的域名数组。

留神:不是每个 IP 地址都有反向 DNS。有时这是成心的,最常见的是,因为多个域名映射到同一个 IP 地址。

rrtype records contains Result type Shorthand method
'A' IPv4 addresses (default) <string> dns.resolve4()
'AAAA' IPv6 addresses <string> dns.resolve6()
'ANY' any records <Object> dns.resolveAny()
'CAA' CA authorization records <Object> dns.resolveCaa()
'CNAME' canonical name records <string> dns.resolveCname()
'MX' mail exchange records <Object> dns.resolveMx()
'NAPTR' name authority pointer records <Object> dns.resolveNaptr()
'NS' name server records <string> dns.resolveNs()
'PTR' pointer records <string> dns.resolvePtr()
'SOA' start of authority records <Object> dns.resolveSoa()
'SRV' service records <Object> dns.resolveSrv()
'TXT' text records [<string[]>](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_…) dns.resolveTxt()

dns.getServers()

返回一个用于以后解析的 IP 地址数组的字符串。即返回以后主机默认网关 ip 地址列表

console.log(dns.getServers())
// ['192.168.42.129', '192.168.8.1']

dns.setServers(servers)

指定一组 IP 地址作为域名解析服务器。

错误码(Error codes)

每个 DNS 查问能够返回以下错误码之一:

  • dns.NODATA: 无数据响应。
  • dns.FORMERR: 查问格局谬误。
  • dns.SERVFAIL: 惯例失败。
  • dns.NOTFOUND: 没有找到域名。
  • dns.NOTIMP: 未实现申请的操作。
  • dns.REFUSED: 回绝查问。
  • dns.BADQUERY: 查问格局谬误。
  • dns.BADNAME: 域名格局谬误。
  • dns.BADFAMILY: 地址协定不反对。
  • dns.BADRESP: 回复格局谬误。
  • dns.CONNREFUSED: 无奈连贯到 DNS 服务器。
  • dns.TIMEOUT: 连贯 DNS 服务器超时。
  • dns.EOF: 文件末端。
  • dns.FILE: 读文件谬误。
  • dns.NOMEM: 内存溢出。
  • dns.DESTRUCTION: 通道被捣毁。
  • dns.BADSTR: 字符串格局谬误。
  • dns.BADFLAGS: 非法标识符。
  • dns.NONAME: 所给主机不是数字。
  • dns.BADHINTS: 非法 HINTS 标识符。
  • dns.NOTINITIALIZED: c c-ares 库尚未初始化。
  • dns.LOADIPHLPAPI: 加载 iphlpapi.dll 出错。
  • dns.ADDRGETNETWORKPARAMS: 无奈找到 GetNetworkParams 函数。
  • dns.CANCELLED: 勾销 DNS 查问。
正文完
 0