所述dnsPromises.resolve4()方法使用DNS协议来解析IPv4地址(A记录)的主机名。当为 True 时,promise 用一组 IP 地址解析。
dnsPromises和dns模块之间的区别在于dnsPromises提供了一种替代异步 DNS 方法的方法,这些方法返回 Promise 对象而不是回调。
dns.resolve4(hostname, [options])
主机名- 此参数接受要解析的主机名的输入。
选项- 它可以有以下选项 -
ttl – 这定义了每个记录的生存时间 (TTL)。回调接收这样的地址数组 – { address: '1.2.3.4', ttl:60 }
创建一个文件“resolve4.js”并复制以下代码片段。创建文件后,使用命令“node resolve4.js”运行此代码。
// dns.resolve4() 演示示例 // 导入 dns 模块 const dns = require('dns'); const dnsPromises = dns.promises; // 传递单个 dns 以获取值 dnsPromises.resolve4('nhooo.com').then((response) => { console.log("解析地址为:", response); })输出结果
解析地址为: [ '95.217.74.146' ]
// dns.resolve4() 演示示例 // 导入 dns 模块 const dns = require('dns'); const dnsPromises = dns.promises; const options = { ttl:true, }; // 使用 promise 调用 resolve4 (async function() { // 传递的 dns 值需要解析 const records = await dnsPromises.resolve4( 'nhooo.com', options); // 打印记录 console.log(records); })();输出结果
[ { address: '95.217.74.146', ttl: 267 } ]