Node.js dnsPromises.resolveAny() Method

The dnsPromises.resolveAny() method is an inbuilt application programming interface of the promises object of dns module which is used to resolve all records (i.e. ‘ANY’ or ‘*’) for the specified hostname using DNS protocol.

Syntax:

dnsPromises.resolveAny( hostname )

Parameters: This method accepts a single parameter as mentioned above and described below:

  • hostname: This parameter specifies a string which denotes the hostname to be resolved.

Return: This method returns error, records.
Records that may be returned are among

  • 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

Below examples illustrate the use of dnsPromises.resolveAny() method in Node.js:

Example 1:




// Node.js program to demonstrate the   
// dnsPromises.resolveAny() method
  
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
   
// Calling dnsPromises.resolveAny() method 
dnsPromises.resolveAny('w3wiki.net').then((res) => {
    console.log("for w3wiki : ");
    console.log(res);
});
   
// Calling dnsPromises.resolveAny() method 
dnsPromises.resolveAny('localhost').then((res) => {
    console.log("for localhost : ");
    console.log(res);
});


Output:

for localhost :
[ { address: '127.0.0.1', ttl: 0, type: 'A' } ]
for w3wiki :
[ { exchange: 'alt1.aspmx.l.google.com', priority: 5, type: 'MX' },
  { exchange: 'alt2.aspmx.l.google.com', priority: 5, type: 'MX' },
  { exchange: 'aspmx.l.google.com', priority: 1, type: 'MX' },
  { exchange: 'alt3.aspmx.l.google.com', priority: 10, type: 'MX' },
  { exchange: 'alt4.aspmx.l.google.com', priority: 10, type: 'MX' },
  { 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' },
  { entries:
     [ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ],
    type: 'TXT' },
  { entries: [ 'fob1m1abcdp777bf2ncvnjm08n' ], type: 'TXT' },
  { nsname: 'ns-869.awsdns-44.net',
    hostmaster: 'awsdns-hostmaster.amazon.com',
    serial: 1,
    refresh: 7200,
    retry: 900,
    expire: 1209600,
    minttl: 86400,
    type: 'SOA' } ]

Example 2:




// Node.js program to demonstrate the   
// dnsPromises.resolveAny() method
  
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
   
// Calling dnsPromises.resolveAny() method 
// asynchronously 
(async function() {
      
    // Records from resolveAny function
    const records = await dnsPromises.resolveAny('w3wiki.net');
      
    // Printing  records
    console.log("from async: ");
    console.log(records);   
})();


Output:

from async:
[ { exchange: 'alt4.aspmx.l.google.com', priority: 10, type: 'MX' },
  { exchange: 'alt1.aspmx.l.google.com', priority: 5, type: 'MX' },
  { exchange: 'alt2.aspmx.l.google.com', priority: 5, type: 'MX' },
  { exchange: 'aspmx.l.google.com', priority: 1, type: 'MX' },
  { exchange: 'alt3.aspmx.l.google.com', priority: 10, type: 'MX' },
  { value: 'ns-869.awsdns-44.net', type: 'NS' },
  { value: 'ns-1520.awsdns-62.org', type: 'NS' },
  { value: 'ns-245.awsdns-30.com', type: 'NS' },
  { value: 'ns-1569.awsdns-04.co.uk', type: 'NS' },
  { entries:
     [ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ],
    type: 'TXT' },
  { entries: [ 'fob1m1abcdp777bf2ncvnjm08n' ], type: 'TXT' },
  { nsname: 'ns-869.awsdns-44.net',
    hostmaster: 'awsdns-hostmaster.amazon.com',
    serial: 1,
    refresh: 7200,
    retry: 900,
    expire: 1209600,
    minttl: 86400,
    type: 'SOA' } ]

Note: The above program will compile and run by using the node index.js command.

Reference: https://nodejs.org/api/dns.html#dns_dnspromises_resolveany_hostname