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