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


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


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

用法:

dns.resolveAny( hostname, callback )

参数:此方法具有上述和以下所述的两个参数:


  • hostname:此参数指定一个字符串,该字符串表示要解析的主机名。
  • callback:它指定在主机名进行DNS解析之后要调用的函数。
    • error:如果生成,则指定错误。
    • ret:它是一个对象,表示返回的主机名记录。

返回值:该方法返回错误,通过回调函数记录。这些数据作为参数传递给回调函数。

可能返回的记录是:

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

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

范例1:

// Node.js program to demonstrate the    
// dns.resolveAny() method 
  
// Accessing dns module 
const dns = require('dns'); 
  
// Calling dns.resolveAny() method for  
// hostname geeksforgeeks.org and displaying 
// them in console as a callback 
dns.resolveAny('geeksforgeeks.org', (err,  
    ret) => console.log('records:%j', ret));

输出:

records:[
    {"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"}
]

范例2:

// Node.js program to demonstrate the    
// dns.resolveAny() method 
  
// Accessing dns module 
const dns = require('dns'); 
  
// Calling dns.resolveAny() method for  
// hostname localhost and displaying 
// them in console as a callback 
dns.resolveAny('localhost', (err,  
    ret) => console.log('records:%j', ret));

输出:

records:[
    {"address":"127.0.0.1", "ttl":0, "type":"A"}
]

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

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



相关用法


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