该方法将主机名(例如,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 时返回它们的顺序相同。
回调- 它将捕获错误(如果有)。
创建一个文件“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
// 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