Node.js – dns.lookup() 方法

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

语法

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

参数

上述参数定义如下 -

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

  • 选项- 它可以有以下选项

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

    • 提示– 它启用一个或多个getAddrinfoflags。

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

    • 逐字逐字– 回调的返回顺序与 DNS 解析器在设置为 True 时返回它们的顺序相同。

  • 回调- 它将捕获错误(如果有)。

示例 1

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

// dns.lookup() 方法演示示例

// 导入 dns 模块
const dns = require('dns');

// 为 dns.lookup() 传递一些选项
const options = {
   family: 6,
   hints:dns.ADDRCONFIG| dns.V4MAPPED,
};

dns.lookup('nhooo.com', options, (err, address, family) =>
   // 这将显示地址族及其值
   console.log('address: %j family: IPv%s', address, family));
输出结果
address: undefined family: IPvundefined

示例 2

// dns.lookup() 方法演示示例
// 导入 dns 模块

const dns = require('dns');

// 初始化一些选项
const options = {
   family: 6,
   hints:dns.ADDRCONFIG| dns.V4MAPPED,
};

// 当所有选项都为真时,结果将是一个数组
options.all = true;
dns.lookup('nhooo.com', options, (err, addresses) =>
   console.log('addresses: %j', addresses));
输出结果
addresses: undefined