当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js dnsPromises.resolveAny()用法及代码示例


dnsPromises.resolveAny()方法是dns模块的promises对象的内置应用程序编程接口,用于使用DNS协议解析指定主机名的所有记录(即“ ANY”或“ *”)。

用法:

dnsPromises.resolveAny( hostname )

参数:该方法接受如上所述和以下描述的单个参数:


  • hostname:此参数指定一个字符串,该字符串表示要解析的主机名。

返回:此方法返回错误,记录。
可能返回的记录在其中

  • A:IPv4地址
  • AAAA:IPv6地址
  • ANY:任何记录
  • CNAME:规范名称记录
  • MX:邮件交换记录
  • NAPTR:名称权限指针记录
  • NS:名称服务器记录
  • PTR:指针记录
  • SOA:权限记录的开始
  • SRV:服务记录
  • TXT:文字记录

以下示例说明了Node.js中dnsPromises.resolveAny()方法的使用:

范例1:

// Node.js program to demonstrate the    
// dnsPromises.resolveAny() method 
  
// Accessing promises object from dns module 
const dns = require('dns'); 
const dnsPromises = dns.promises; 
   
// Calling dnsPromises.resolveAny() method  
dnsPromises.resolveAny('geeksforgeeks.org').then((res) => { 
    console.log("for geeksforgeeks:"); 
    console.log(res); 
}); 
   
// Calling dnsPromises.resolveAny() method  
dnsPromises.resolveAny('localhost').then((res) => { 
    console.log("for localhost:"); 
    console.log(res); 
});

输出:

for localhost:
[ { address:'127.0.0.1', ttl:0, type:'A' } ]
for geeksforgeeks:
[ { exchange:'alt1.aspmx.l.google.com', priority:5, type:'MX' },
  { exchange:'alt2.aspmx.l.google.com', priority:5, type:'MX' },
  { exchange:'aspmx.l.google.com', priority:1, type:'MX' },
  { exchange:'alt3.aspmx.l.google.com', priority:10, type:'MX' },
  { exchange:'alt4.aspmx.l.google.com', priority:10, type:'MX' },
  { value:'ns-1520.awsdns-62.org', type:'NS' },
  { value:'ns-1569.awsdns-04.co.uk', type:'NS' },
  { value:'ns-245.awsdns-30.com', type:'NS' },
  { value:'ns-869.awsdns-44.net', type:'NS' },
  { entries:
     [ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ],
    type:'TXT' },
  { entries:[ 'fob1m1abcdp777bf2ncvnjm08n' ], type:'TXT' },
  { nsname:'ns-869.awsdns-44.net',
    hostmaster:'awsdns-hostmaster.amazon.com',
    serial:1,
    refresh:7200,
    retry:900,
    expire:1209600,
    minttl:86400,
    type:'SOA' } ]

范例2:

// Node.js program to demonstrate the    
// dnsPromises.resolveAny() method 
  
// Accessing promises object from dns module 
const dns = require('dns'); 
const dnsPromises = dns.promises; 
   
// Calling dnsPromises.resolveAny() method  
// asynchronously  
(async function() { 
      
    // Records from resolveAny function 
    const records = await dnsPromises.resolveAny('geeksforgeeks.org'); 
      
    // Printing  records 
    console.log("from async:"); 
    console.log(records);    
})();

输出:

from async:
[ { exchange:'alt4.aspmx.l.google.com', priority:10, type:'MX' },
  { exchange:'alt1.aspmx.l.google.com', priority:5, type:'MX' },
  { exchange:'alt2.aspmx.l.google.com', priority:5, type:'MX' },
  { exchange:'aspmx.l.google.com', priority:1, type:'MX' },
  { exchange:'alt3.aspmx.l.google.com', priority:10, type:'MX' },
  { value:'ns-869.awsdns-44.net', type:'NS' },
  { value:'ns-1520.awsdns-62.org', type:'NS' },
  { value:'ns-245.awsdns-30.com', type:'NS' },
  { value:'ns-1569.awsdns-04.co.uk', type:'NS' },
  { entries:
     [ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ],
    type:'TXT' },
  { entries:[ 'fob1m1abcdp777bf2ncvnjm08n' ], type:'TXT' },
  { nsname:'ns-869.awsdns-44.net',
    hostmaster:'awsdns-hostmaster.amazon.com',
    serial:1,
    refresh:7200,
    retry:900,
    expire:1209600,
    minttl:86400,
    type:'SOA' } ]

注意:上面的程序将通过使用node index.js命令。

参考: https://nodejs.org/api/dns.html#dns_dnspromises_resolveany_hostname



相关用法


注:本文由纯净天空筛选整理自anwesha0107大神的英文原创作品 Node.js | dnsPromises.resolveAny() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。