Skip to content
-
Node.js dns.lookupService() Method
Last Updated :
13 Oct, 2021
The
dns.lookupService() method is an inbuilt application programming interface of the dns module which is used to resolve the addresses and port number to hostname using operating system's underlying getnameinfo implementation.
Syntax:
dns.lookupService( address, port, callback )
Parameters: This method has three parameters as mentioned above and described below:
- address: It specifies a string which denotes the address to be resolved.
- port: It is a number that specifies the port number of the address whose service is to be resolved.
- callback: It specifies a function to be called after resolution of the address and port.
- error: It specifies error if generated.
- hostname: String representation of the hostname. e.g. geeksforgeeks.org
- service: It's a string, specifies name of the service. e.g. http
Return Value: This method returns error, hostname and services through callback function. These data are passed as parameters to the callback function.
Below examples illustrate the use of
dns.lookupService() method in Node.js:
Example 1: IP for localhost
javascript
// Accessing dns module
const dns = require('dns');
// Calling dns.lookupService() method for
// 127.0.0.1 port number 22
dns.lookupService('127.0.0.1', 22,
(err, hostname, service) => {
// Printing hostname and service as callback
console.log(hostname, service);
});
Output: Here name of my computer is my-lappy
my-lappy ssh
Example 2:
javascript
// Accessing dns module
const dns = require('dns');
// Setting options for dns.lookup() method
const options = {
// Setting family as 4 i.e. IPv4
family: 4,
hints: dns.ADDRCONFIG | dns.V4MAPPED,
};
dns.lookup('www.geeksforgeeks.org',
options, (err, address, family) => {
console.log('address:', address);
if(err){
console.log(err.stack);
} else{
// Calling dns.lookupService() method
dns.lookupService(address, 80,
(err, hostname, service) => {
if(err){
console.log(err.stack);
}
// Printing hostname and service
// as callback
console.log(hostname, service);
});
}
});
Output:
address: 42.106.162.241
42-106-162-241.live.vodafone.in http
Note: The above program will compile and run by using the
node filename.js
command.
Reference: https://nodejs.org/api/dns.html#dns_dns_lookupservice_address_port_callback
Similar Reads
Node.js dns.getServers() Method The dns.getServers() method is an inbuilt application programming interface of the dns module which is used to get IP addresses of the current server.Syntax:Â Â dns.getServers() Parameters: This method does not accept any parameters.Return: This method returns an array of IP addresses in RFC 5952 for
1 min read
Node.js dns.lookup() Method The dns.lookup() method is an inbuilt application programming interface of the 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:dns.lookup( hostname, options, callback )Parameters: This method
3 min read
Node.js dns.lookupService() Method The dns.lookupService() method is an inbuilt application programming interface of the dns module which is used to resolve the addresses and port number to hostname using operating system's underlying getnameinfo implementation. Syntax: dns.lookupService( address, port, callback ) Parameters: This me
2 min read
Node.js dns.resolve() Method 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:
3 min read
Node.js dns.resolve4() Method The dns.resolve4() method is an inbuilt application programming interface of the dns module which is used to resolve IPv4 address ('A' record) for the specified hostname using DNS protocol. Syntax:dns.resolve4( hostname, options, callback )Parameters: This method accept three parameters as mentioned
2 min read
Node.js dns.resolve6() Method The dns.resolve6() method is an inbuilt application programming interface of the dns module which is used to resolve IPv6 address ('AAAA' record) for the specified hostname using DNS protocol. Syntax: dns.resolve6( hostname, options, callback ) Parameters: This method accept three parameters as ment
2 min read
Node.js dns.resolveAny() Method The dns.resolveAny() method is an inbuilt application programming interface of the dns module which is used to resolve all records (i.e. 'ANY' or '*') for the specified hostname using DNS protocol. Syntax: dns.resolveAny( hostname, callback ) Parameters: This method has two parameters as mentioned a
2 min read
Node.js dns.resolveCname() Method The dns.resolveCname() method is an inbuilt application programming interface of the dns module which is used to resolve CNAME records for the specified hostname using DNS protocol. Syntax: dns.resolveCname( hostname, callback ) Parameters: This method has two parameters as mentioned above and descr
2 min read
Node.js dns.resolveMx() Method The dns.resolveMx() method is an inbuilt application programming interface of the dns module which is used to resolve MX or mail exchange records for the specified hostname using DNS protocol. Syntax: dns.resolveMx( hostname, callback ) Parameters: This method has two parameters as mentioned above a
2 min read
Node.js dns.resolveNaptr() Method The dns.resolveNaptr() method is an inbuilt application programming interface of the dns module which is used to resolve NAPTR record or regular expression based records for the specified hostname using DNS protocol. Syntax: dns.resolveNaptr( hostname, callback ) Parameters: This method has two para
2 min read
`;
$(commentSectionTemplate).insertBefore(".article--recommended");
}
loadComments();
});
});
function loadComments() {
if ($("iframe[id*='discuss-iframe']").length top_of_element && top_of_screen articleRecommendedTop && top_of_screen articleRecommendedBottom)) {
if (!isfollowingApiCall) {
isfollowingApiCall = true;
setTimeout(function(){
if (loginData && loginData.isLoggedIn) {
if (loginData.userName !== $('#followAuthor').val()) {
is_following();
} else {
$('.profileCard-profile-picture').css('background-color', '#E7E7E7');
}
} else {
$('.follow-btn').removeClass('hideIt');
}
}, 3000);
}
}
});
}
$(".accordion-header").click(function() {
var arrowIcon = $(this).find('.bottom-arrow-icon');
arrowIcon.toggleClass('rotate180');
});
});
window.isReportArticle = false;
function report_article(){
if (!loginData || !loginData.isLoggedIn) {
const loginModalButton = $('.login-modal-btn')
if (loginModalButton.length) {
loginModalButton.click();
}
return;
}
if(!window.isReportArticle){
//to add loader
$('.report-loader').addClass('spinner');
jQuery('#report_modal_content').load(gfgSiteUrl+'wp-content/themes/iconic-one/report-modal.php', {
PRACTICE_API_URL: practiceAPIURL,
PRACTICE_URL:practiceURL
},function(responseTxt, statusTxt, xhr){
if(statusTxt == "error"){
alert("Error: " + xhr.status + ": " + xhr.statusText);
}
});
}else{
window.scrollTo({ top: 0, behavior: 'smooth' });
$("#report_modal_content").show();
}
}
function closeShareModal() {
const shareOption = document.querySelector('[data-gfg-action="share-article"]');
shareOption.classList.remove("hover_share_menu");
let shareModal = document.querySelector(".hover__share-modal-container");
shareModal && shareModal.remove();
}
function openShareModal() {
closeShareModal(); // Remove existing modal if any
let shareModal = document.querySelector(".three_dot_dropdown_share");
shareModal.appendChild(Object.assign(document.createElement("div"), { className: "hover__share-modal-container" }));
document.querySelector(".hover__share-modal-container").append(
Object.assign(document.createElement('div'), { className: "share__modal" }),
);
document.querySelector(".share__modal").append(Object.assign(document.createElement('h1'), { className: "share__modal-heading" }, { textContent: "Share to" }));
const socialOptions = ["LinkedIn", "WhatsApp","Twitter", "Copy Link"];
socialOptions.forEach((socialOption) => {
const socialContainer = Object.assign(document.createElement('div'), { className: "social__container" });
const icon = Object.assign(document.createElement("div"), { className: `share__icon share__${socialOption.split(" ").join("")}-icon` });
const socialText = Object.assign(document.createElement("span"), { className: "share__option-text" }, { textContent: `${socialOption}` });
const shareLink = (socialOption === "Copy Link") ?
Object.assign(document.createElement('div'), { role: "button", className: "link-container CopyLink" }) :
Object.assign(document.createElement('a'), { className: "link-container" });
if (socialOption === "LinkedIn") {
shareLink.setAttribute('href', `https://www.linkedin.com/sharing/share-offsite/?url=${window.location.href}`);
shareLink.setAttribute('target', '_blank');
}
if (socialOption === "WhatsApp") {
shareLink.setAttribute('href', `https://api.whatsapp.com/send?text=${window.location.href}`);
shareLink.setAttribute('target', "_blank");
}
if (socialOption === "Twitter") {
shareLink.setAttribute('href', `https://twitter.com/intent/tweet?url=${window.location.href}`);
shareLink.setAttribute('target', "_blank");
}
shareLink.append(icon, socialText);
socialContainer.append(shareLink);
document.querySelector(".share__modal").appendChild(socialContainer);
//adding copy url functionality
if(socialOption === "Copy Link") {
shareLink.addEventListener("click", function() {
var tempInput = document.createElement("input");
tempInput.value = window.location.href;
document.body.appendChild(tempInput);
tempInput.select();
tempInput.setSelectionRange(0, 99999); // For mobile devices
document.execCommand('copy');
document.body.removeChild(tempInput);
this.querySelector(".share__option-text").textContent = "Copied"
})
}
});
// document.querySelector(".hover__share-modal-container").addEventListener("mouseover", () => document.querySelector('[data-gfg-action="share-article"]').classList.add("hover_share_menu"));
}
function toggleLikeElementVisibility(selector, show) {
document.querySelector(`.${selector}`).style.display = show ? "block" : "none";
}
function closeKebabMenu(){
document.getElementById("myDropdown").classList.toggle("show");
}