El método dns.lookupService() es una interfaz de programación de aplicaciones incorporada del módulo dns que se usa para resolver las direcciones y el número de puerto para el nombre de host usando la implementación getnameinfo subyacente del sistema operativo.
Sintaxis:
dns.lookupService( address, port, callback )
Parámetros: este método tiene tres parámetros, como se mencionó anteriormente y se describe a continuación:
- dirección: Especifica una string que denota la dirección a resolver.
- puerto: Es un número que especifica el número de puerto de la dirección cuyo servicio se va a resolver.
- devolución de llamada: especifica una función que se llamará después de la resolución de la dirección y el puerto.
- error: Especifica error si se genera.
- hostname: representación de string del nombre de host. por ejemplo, geeksforgeeks.org
- servicio: Es una string, especifica el nombre del servicio. por ejemplo, http
Valor devuelto: este método devuelve el error, el nombre de host y los servicios a través de la función de devolución de llamada. Estos datos se pasan como parámetros a la función de devolución de llamada.
Los siguientes ejemplos ilustran el uso del método dns.lookupService() en Node.js:
Ejemplo 1: IP para localhost
// 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); });
Salida: Aquí el nombre de mi computadora es my-lappy
my-lappy ssh
Ejemplo 2:
// 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); }); } });
Producción:
address: 42.106.162.241 42-106-162-241.live.vodafone.in http
Nota: El programa anterior se compilará y ejecutará usando el node filename.js
comando.
Referencia: https://nodejs.org/api/dns.html#dns_dns_lookupservice_address_port_callback