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


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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。