📅  最后修改于: 2023-12-03 15:03:12.617000             🧑  作者: Mango
Node.js dnsPromises.lookup() 方法是一个异步方法,用于执行 DNS 查询并返回结果。它是使用Promise的版本,返回一个解析后的对象。
dnsPromises.lookup(hostname[, options])
hostname
: 字符串,表示要解析的主机名。options
: 可选对象,可包含以下属性:family
:整数,指定解析的 IP 地址族(4 或 6)。默认值是 0。hints
:整数,指定 IP 地址类型的提示。可选值有 dns.ADDRCONFIG
、dns.V4MAPPED
和 dns.V4MAPPEDONLY
。all
:布尔型,设置为true时,返回一个对象数组,包含所有解析出的 IP 地址。默认值为false。dnsPromises.lookup() 方法通过 Promise 返回一个解析后的对象。当 Promise 回调成功时,resolve方法传递一个包含以下属性的对象:
address
:字符串,表示解析出的 IP 地址。family
:整数,表示解析出的 IP 地址族(4 或 6)。以下示例演示了如何使用 dnsPromises.lookup() 方法解析域名google.com的IP地址:
const dnsPromises = require('dns').promises;
dnsPromises.lookup('google.com')
.then((result) => {
console.log(result.address); // 172.217.10.78
console.log(result.family); // 4
})
.catch((err) => {
console.log(err);
});
在上面的示例中,我们首先使用 require() 函数加载 dnsPromises 模块,然后调用其 lookup() 方法,将要解析的域名作为第一个参数传递。当 Promise 回调成功时,我们使用解析后的对象的 address 和 family 属性输出结果。
{ address: '2607:f8b0:4004:803::200e', family: 6 }
{ address: '172.217.10.78', family: 4 }