Node.js dnsPromises.resolveAny() Method
Last Updated :
13 Oct, 2021
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:
javascript
// 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('geeksforgeeks.org').then((res) => {
console.log("for geeksforgeeks : ");
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 geeksforgeeks :
[ { 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:
javascript
// 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('geeksforgeeks.org');
// 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
Explore
Introduction & Installation
Node.js Modules , Buffer & Streams
Node.js Asynchronous Programming
Node.js NPM
Node.js Deployments & Communication
Resources & Tools