Open In App

Node.js dns.resolve() Method

Last Updated : 10 Sep, 2024
Comments
Improve
Suggest changes
1 Likes
Like
Report

The

dns.resolve() method

is an inbuilt application programming interface of the dns module which is used to resolve hostname into an array of the resource records.

Syntax:

dns.resolve( hostname, rrtype, callback )

Parameters:

This method accept three parameters as mentioned above and described below:

  • hostname: This parameter specifies a string which denotes the hostname to be resolved.
  • rrtype: It specifies the resource record type. Its default value is 'A'. The list of records ('A', 'AAAA', 'ANY', 'CNAME', 'MX', 'TXT', 'NS', 'NAPTR', 'PTR', 'SOA', 'SRV') are described below:
    • A: IPv4 address
    • AAAA: IPv6 address
    • ANY: Any records
    • CNAME: canonical name records
    • MX: mail exchange records
    • NAPTR: name authority pointer records
    • NS: name server records
    • PTR: pointer records
    • SOA: start of authority records
    • SRV: service records
    • TXT: text records
  • callback: It specifies a function which to be called after DNS resolution of the hostname.
    • error: It specifies error if generated.
    • records: It's string or object that signifies the returned record.
  • Return Value:
  • This method returns error, records through callback function, These data are passed as parameters to the callback function. Below examples illustrate the use of dns.resolve() Method in Node.js:
  • Example 1:
  • javascript
    // 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: ["8.8.8.8"]
  • Example 2:
  • javascript
    // 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));
    
  • Output:
  • 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}
    ]
  • Example 3:
  • javascript
    // 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));
    
  • Output:
  • records: [
    ["v=spf1 include:amazonses.com include:_spf.google.com -all"],
    ["fob1m1abcdp777bf2ncvnjm08n"]
    ]
  • Example 4:
  • javascript
    // 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));
    
  • Output:
  • records: [
    "ns-1520.awsdns-62.org",
    "ns-1569.awsdns-04.co.uk",
    "ns-245.awsdns-30.com",
    "ns-869.awsdns-44.net"
    ]
  • Note:
  • The above program will compile and run by using the
  • node index.js
  • command.
  • Reference:
  • https://nodejs.org/api/dns.html#dns_dns_resolve_hostname_rrtype_callback

Explore