dns.resolve()方法是dns模块的内置应用程序编程接口,用于将主机名解析为资源记录的数组。
用法:
dns.resolve( hostname, rrtype, callback )
参数:此方法接受上述和以下所述的三个参数:
- 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:文字记录
- callback:它指定在主机名的DNS解析之后要调用的函数。
- error:如果生成,则指定错误。
- records:它是表示返回记录的字符串或对象。
返回值:该方法返回错误,通过回调函数记录,这些数据作为参数传递给回调函数。
以下示例说明了Node.js中dns.resolve()方法的使用:
范例1:
// Node.js program to demonstrate the
// dns.resolve() method
// Accessing dns module
const dns = require('dns');
// Set the rrtype for dns.resolve() method
const rrtype="A";
// Calling dns.resolve() method for hostname
// geeksforgeeks.org and print them in
// console as a callback
dns.resolve('geeksforgeeks.org', rrtype, (err, records)
=> console.log('records:%j', records));
Output:
records:["34.218.62.116"]
范例2:
// Node.js program to demonstrate the
// dns.resolve() method
// Accessing dns module
const dns = require('dns');
// Set the rrtype for dns.resolve() method
const rrtype="MX";
// Calling dns.resolve() method for hostname
// geeksforgeeks.org and print them in
// console as a callback
dns.resolve('geeksforgeeks.org', rrtype, (err, records)
=> console.log('records:%j', records));
输出:
records:[ {"exchange":"alt1.aspmx.l.google.com", "priority":5}, {"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} ]
范例3:
// Node.js program to demonstrate the
// dns.resolve() method
// Accessing dns module
const dns = require('dns');
// Set the rrtype for dns.resolve() method
const rrtype="TXT";
// Calling dns.resolve() method for hostname
// geeksforgeeks.org and print them in
// console as a callback
dns.resolve('geeksforgeeks.org', rrtype, (err,
records) => console.log('records:%j', records));
输出:
records:[ ["v=spf1 include:amazonses.com include:_spf.google.com -all"], ["fob1m1abcdp777bf2ncvnjm08n"] ]
范例4:
// Node.js program to demonstrate the
// dns.resolve() method
// Accessing dns module
const dns = require('dns');
// Set the rrtype for dns.resolve() method
const rrtype="NS";
// Calling dns.resolve() method for hostname
// geeksforgeeks.org and print them in
// console as a callback
dns.resolve('geeksforgeeks.org', rrtype, (err,
records) => console.log('records:%j', records));
输出:
records:[ "ns-1520.awsdns-62.org", "ns-1569.awsdns-04.co.uk", "ns-245.awsdns-30.com", "ns-869.awsdns-44.net" ]
注意:上面的程序将通过使用node index.js
命令。
参考: https://nodejs.org/api/dns.html#dns_dns_resolve_hostname_rrtype_callback
相关用法
注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 Node.js | dns.resolve() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。