1. DNS
在Node.js中,提供DNS模块,以实现域名查找及域名解析的处理。
在DNS模块中,提供了三个主方法及一系列便捷方法。 resolve方法:用于将一个域名解析为一组DNS记录。 reverse方法: 用于将IP地址转换为一组域名。 lookup方法: 用于将一个域名转换成IP地址。 DNS模块中的其余便捷方法均为resolve方法的一种便捷形式。2. 使用resolve方法将域名解析为DNS记录
`DNS.resolve(domain, [rrtype], callback(err, address){...})`
A,该参数值为默认值,当记录类型为A时,该记录将一个IPv4地址映射为一个域名。 AAAA,当记录类型为AAAA时,该记录将一个IPv6地址映射为一个域名。 CNAME,当记录类型为CNAME时,表示该记录为一个域名的别名记录,例如,一个www.example.com域名记录也许为一个example.com域名记录额别名记录。 MX,MX记录指向一个使用SMTP的域中的邮件服务器,例如,当你想person@domain.com邮件地址发送电子邮件时,domain.com域的MX记录中保存了发送该邮件时的邮件服务器地址。 TXT,TXT记录是为该域名附加的描述记录。 SRV,SRV记录用于为一个特定域中所有可用服务提供信息。 PTR,PTR记录用于反向地址解析,该记录将一个域名映射为一个IPv4地址。 NS,NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器进行解析。domain参数为一个字符串,用于指定需要被解析的域名,可以包括子域名。
rrtypr参数为一个字符串,用于指定需要获取的记录类型,可指定的记录类型如下。
回调函数有两个参数,err是域名解析失败时触发的错误对象,addresses参数为一个数组,其中存放了所有获取到的DNS记录。
3. 为resolve方法定制的各种便捷方法
4. 使用lookup方法查询IP地址
当使用resolve4方法或者resolve6方法时,由于callback参数值回调函数中的addresses参数值数组中存放着所有获取到的IPv4地址或IPv6地址。因此DNS模块中提供了一个获取第一个被发现的IPv4地址或者IPv6地址的lookup方法
`DNS.lookup(domain, [family], callback(err, addresses, family){...})`
domain参数为一个字符串,用于指定需要解析的域名 family参数值为一个整数值,用于指定需要获取的IP地址类型,可指定的参数值为4或6,默认参数值为null,表示既可以获取IPv4,又可以获取IPv6 回调函数err参数值为获取地址失败时触发的错误对象,当域名不存在或查询失败时该错误对象的code属性值为ENOENT addresses参数值为一个字符串,为获取到的IP地址 family参数值为4时,表示为一个IPv4地址,为6时,表示为一个IPv6地址。新闻热点
疑难解答
图片精选