Node.js – dns.lookup() 方法


dns.lookup() 方法将主机名(例如,tutorialspoint.com)解析为找到的第一个 A(IPv4)或 AAAA(IPv6)记录。options 下可用的属性是可选的。dns.lookup() 与 DNS 协议无关。该实现使用一个操作系统工具,该工具可以将名称与地址关联起来,反之亦然。

语法

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

参数

以上参数定义如下:

  • hostname – 这是您要查找 DNS 值的网站主机名。

  • options – 它可以包含以下选项

    • family – 它只能取值 4、6 或 0。“0”表示返回 IPv4 和 IPv6 两个地址。

    • hints – 它启用一个或多个 getAddrinfoflags

    • all – 当此值设置为 true 时,回调将所有解析的地址返回到数组中,否则返回单个地址。

    • verbatim – 当设置为 True 时,回调按 DNS 解析器返回的相同顺序返回。

  • callback – 它将捕获任何错误。

示例 1

创建一个名为 “lookup.js” 的文件,并复制以下代码片段。创建文件后,使用以下命令 “node lookup.js” 运行此代码。

// dns.lookup() method Demo Example

// Importing the dns module
const dns = require('dns');

// Passing some options for dns.lookup()
const options = {
   family: 6,
   hints: dns.ADDRCONFIG | dns.V4MAPPED,
};

dns.lookup('tutorialspoint.com', options, (err, address, family) =>
   // This will display the address family and its value
   console.log('address: %j family: IPv%s', address, family));

输出

address: undefined family: IPvundefined

示例 2

// dns.lookup() method Demo Example
// Importing the dns module

const dns = require('dns');

// Initializing some options
const options = {
   family: 6,
   hints: dns.ADDRCONFIG | dns.V4MAPPED,
};

// Result will be an array, when all the options are true
options.all = true;
dns.lookup('tutorialspoint.com', options, (err, addresses) =>
   console.log('addresses: %j', addresses));

输出

addresses: undefined

更新于: 2021-10-29

572 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告