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