dnsPromises.resolve()方法是dns模塊的promises對象的內置應用程序編程接口,用於將主機名解析為資源記錄的數組。
用法:
dnsPromises.resolve( hostname, rrtype )
參數:此方法具有上述和以下所述的兩個參數:
- hostname:此參數指定一個字符串,該字符串表示要解析的主機名。
- rrtype:它指定資源記錄類型。其默認值為“ A”。值來自“ A”,“ AAAA”,“ ANY”,“ CNAME”,“ MX”,“ TXT”,“ NS”,“ NAPTR”,“ PTR”,“ SOA”,“ SRV”。
- A:IPv4地址
- AAAA:IPv6地址
- ANY:任何記錄
- CNAME:規範名稱記錄
- MX:郵件交換記錄
- NAPTR:名稱權限指針記錄
- NS:名稱服務器記錄
- PTR:指針記錄
- SOA:授權記錄的開始
- SRV:服務記錄
- TXT:文字記錄
返回值:此方法返回錯誤,記錄。
以下示例說明了Node.js中dnsPromises.resolve()方法的使用:
範例1:
// Node.js program to demonstrate the
// dnsPromises.resolve() method
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
// Set the rrtype value for
// dnsPromises.resolve() method
const rrtype="NS";
// Calling dnsPromises.resolve() method
dnsPromises.resolve('geeksforgeeks.org', rrtype).then((res) => {
console.log(res);
});
輸出:
[ 'ns-869.awsdns-44.net', 'ns-245.awsdns-30.com', 'ns-1520.awsdns-62.org', 'ns-1569.awsdns-04.co.uk' ]
範例2:
// Node.js program to demonstrate the
// dnsPromises.resolve() method
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
// Setting rrtype for dnsPromises.resolve() method
const rrtype = "MX";
// Calling dnsPromises.resolve() method asynchronously
(async function() {
// Records from resolve function
const records = await dnsPromises.resolve('geeksforgeeks.org', rrtype);
// Printing records
console.log("from async:");
console.log(records);
})();
輸出:
from async: [ { exchange:'alt2.aspmx.l.google.com', priority:5 }, { exchange:'aspmx.l.google.com', priority:1 }, { exchange:'alt3.aspmx.l.google.com', priority:10 }, { exchange:'alt4.aspmx.l.google.com', priority:10 }, { exchange:'alt1.aspmx.l.google.com', priority:5 } ]
範例3:
// Node.js program to demonstrate the
// dnsPromises.resolve() method
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
// Set the rrtype for dnsPromises.resolve() method
const rrtype = "A";
// Calling dnsPromises.resolve() method
dnsPromises.resolve('geeksforgeeks.org', rrtype).then((res) => {
console.log(res);
});
輸出:
[ '34.218.62.116' ]
範例4:
// Node.js program to demonstrate the
// dnsPromises.resolve() method
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
// Set the rrtype for dnsPromises.resolve() method
const rrtype = "TXT";
// Calling dnsPromises.resolve() method
dnsPromises.resolve('geeksforgeeks.org', rrtype).then((res) => {
console.log(res);
});
輸出:
(node:12752) ExperimentalWarning:The dns.promises API is experimental [ [ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ], [ 'fob1m1abcdp777bf2ncvnjm08n' ] ]
注意:上麵的程序將通過使用node index.js
命令。
參考: https://nodejs.org/api/dns.html#dns_dnspromises_resolve_hostname_rrtype
相關用法
注:本文由純淨天空篩選整理自anwesha0107大神的英文原創作品 Node.js | dnsPromises.resolve() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。