當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js dnsPromises.resolve()用法及代碼示例


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。