📜  Node.js dns.resolveAny() 方法

📅  最后修改于: 2022-05-13 01:56:30.622000             🧑  作者: Mango

Node.js dns.resolveAny() 方法

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

句法:

dns.resolveAny( hostname, callback )

参数:此方法有两个参数,如前所述,如下所述:

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

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

可能返回的记录是:

  • 答: 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