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:
const dns = require( 'dns' );
const rrtype= "A" ;
dns.resolve( 'geeksforgeeks.org' , rrtype, (err, records)
=> console.log( 'records: %j' , records));
|
Output:
records: ["34.218.62.116"]
Example 2:
const dns = require( 'dns' );
const rrtype= "MX" ;
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:
const dns = require( 'dns' );
const rrtype= "TXT" ;
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:
const dns = require( 'dns' );
const rrtype= "NS" ;
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