首页 文章资讯内容详情

Node.js – dnsPromises.lookup() 方法

2026-06-02 1 花语

该方法将主机名(例如,nhooo.com)解析为第一个找到的IPv4)或AAAA(IPv6)记录。选项下可用的属性是可选的。dnsPromises.lookup()

dns.lookup()与DNS协议无关。该实现使用可以将名称与地址相关联的操作系统工具,反之亦然。

dnsPromisesdns模块之间的区别在于,它dns.promises为返回Promise对象而不是回调的异步DNS方法提供了一种替代方法。

语法

dnsPromises.lookup(hostname, [options])

参数

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

选项-它可以有以下选项

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

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

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

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

示例1

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

//dns.lookup()方法演示示例 //导入dns模块 const dns = require(dns); const dnsPromises = dns.promises; //为dns.lookup()传递一些选项 const options = { family: 6, hints:dns.ADDRCONFIG| dns.V4MAPPED, }; //当所有选项都为真时,结果将是一个数组 dnsPromises.lookup(nhooo.com, options).then((response) => { console.log(addresses: %j, response); });输出结果C:\home\node>> node lookup.js addresses: {"address":"64:ff9b::5fd9:4a92","family":6}

示例2

//dns.lookup()方法演示示例 //导入dns模块 const dns = require(dns); const dnsPromises = dns.promises; //为dnsPromises.lookup()设置选项 //方法,都一样 const options = { all:true, }; //当所有选项都为真时,结果将是一个数组 dnsPromises.lookup(nhooo.com, options).then((response) => { console.log(addresses: %j, response); });输出结果C:\home\node>> node lookup.js addresses: [{"address":"95.217.74.146","family":4},{"address":"64:ff9b::5fd9 :4a92","family":6}]