Node.js dnsPromises.lookup() Method
The dnsPromises.lookup() method is an inbuilt application programming interface of the promises object of dns module which is used to resolve IP addresses of the specified hostname for given parameters into the first found A (IPv4) or AAAA (IPv6) record.
Syntax:
dnsPromises.lookup( hostname, options )
Parameters: This method has two parameters as mentioned above and described below:
- hostname: This parameter specifies a string which denotes the hostname to be checked.
- options: It is in the form of an integer or an object. It specifies the options to be used during lookup.
- family: It is an integer value that specifies the family of the record. Its value must be in 4, 6 or 0, 0 indicates to return both IPv4 and IPv6, 4 indicates to return IPv4 and 6 to return IPv6. The default value is 0.
- hints: It is a number that specifies one or more getaddrinfo flag(s). More than one flags can be passed by doing bitwise OR of their values.
- all: It is a Boolean parameter. If it is set to TRUE then callback returns all resolved address in an array, otherwise it returns single address. Its default value is FALSE.
- verbatim: It is a Boolean parameter. If it set to TRUE then callback get all resolved IPv4 and IPv6 address as returned by DNS resolver unordered. If set to FALSE IPv4 addresses are placed before IPv6 addresses. Default value is FALSE now but expected to be TRUE in near future.
Return Value: This method returns error, family of IP addresses and IP addresses.
Below examples illustrate the use of dnsPromises.lookup() method in Node.js:
Example 1:
const dns = require( 'dns' );
const dnsPromises = dns.promises;
const options = {
family: 6,
hints: dns.ADDRCONFIG | dns.V4MAPPED,
};
dnsPromises.lookup( 'geeksforgeeks.org' , options).then((response) => {
console.log( ' family: IPv%s address: %j' , response.family, response.address);
});
|
Output:
family: IPv6 address: "fd00:0:14:13::22da:3e74"
Example 2:
const dns = require( 'dns' );
const dnsPromises = dns.promises;
const options = {
all: true ,
};
dnsPromises.lookup( 'geeksforgeeks.org' , options).then((response) => {
console.log( 'addresses: %j' , response);
});
|
Output:
addresses: [{"address":"34.218.62.116", "family":4},
{"address":"fd00:0:14:13::22da:3e74", "family":6}]
Example 3:
const dns = require( 'dns' );
const dnsPromises = dns.promises;
const options = {
all: true ,
};
(async function () {
const addresses = await dnsPromises.lookup(
'geeksforgeeks.org' , options);
console.log( "from async: " );
console.log(addresses);
})();
|
Output:
from async:
[ { address: '34.218.62.116', family: 4 },
{ address: 'fd00:0:14:13::22da:3e74', family: 6 } ]
Note: The above program will compile and run by using the node index.js
command.
Reference: https://nodejs.org/api/dns.html#dns_dnspromises_lookup_hostname_options
Last Updated :
13 Oct, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...