El método dns.lookup() es una interfaz de programación de aplicaciones incorporada del módulo dns que se utiliza para resolver las direcciones IP del nombre de host especificado para parámetros dados en el primer registro A (IPv4) o AAAA (IPv6) encontrado.
Sintaxis:
dns.lookup( hostname, options, callback )
Parámetros: este método tiene tres parámetros, como se mencionó anteriormente y se describe a continuación:
- hostname: este parámetro especifica una string que denota el nombre de host que se verificará.
- opciones: Tiene la forma de un entero o de un objeto. Especifica las opciones que se utilizarán durante la búsqueda.
- familia: Es un valor entero que especifica la familia del registro. El valor debe estar en 4, 6 o 0, donde 0 indica devolver el valor de IPv4 e IPv6, 4 indica devolver IPv4 y 6 indica devolver IPv6. Su valor por defecto es 0.
- sugerencias: es un número que especifica uno o más indicadores getaddrinfo. Se pueden pasar más de una bandera haciendo OR bit a bit de sus valores.
- all: Es un parámetro booleano. Si se establece en VERDADERO, la devolución de llamada devuelve todas las direcciones resueltas en una array; de lo contrario, devuelve una sola dirección. Su valor por defecto es FALSO.
- textualmente: es un parámetro booleano. Si su valor se establece en TRUE, la devolución de llamada obtiene todas las direcciones IPv4 e IPv6 resueltas según lo devuelto por el sistema de resolución de DNS sin ordenar. Si se establece en FALSO, las direcciones IPv4 se colocan antes que las direcciones IPv6. El valor predeterminado es FALSO ahora, pero se espera que sea VERDADERO en un futuro cercano.
- devolución de llamada: especifica una función que se llamará después de que se realice la resolución DNS de los nombres de host.
- error: Especifica error si se genera. Por ejemplo, ‘ENOTFOUND’ se establece si el nombre de host no existe o la búsqueda falla.
- dirección: Es una representación de string de direcciones IPv4 e IPv6.
- familia: Es un valor entero que especifica la familia del registro. El valor debe estar en 4, 6 o 0 donde 0 indica que no es una dirección IPv4 o IPv6. 0 es un indicador de falla en el servicio de resolución de nombres que utiliza el sistema operativo.
Valor devuelto: este método devuelve un error, una familia de direcciones IP y direcciones IP 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.lookup() en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // dns.lookup() method // Accessing dns module const dns = require( 'dns' ); // Setting options for dns.lookup() method const options = { // Setting family as 6 i.e. IPv6 family: 6, hints: dns.ADDRCONFIG | dns.V4MAPPED, }; // Calling dns.lookup() for hostname geeksforgeeks.org // and displaying them in console as a callback dns.lookup( 'geeksforgeeks.org' , options, (err, address, family) => console.log( 'address: %j family: IPv%s' , address, family)); |
Producción:
address: "fd00:0:13:13::22da:3e74" family: IPv6
Ejemplo 2:
// Node.js program to demonstrate the // dns.lookup() method // Accessing dns module const dns = require('dns'); // Setting options for dns.lookup() // method, all as true const options = { all:true, }; // Calling dns.lookup() for hostname // geeksforgeeks.org and displaying // them in console as a callback dns.lookup('geeksforgeeks.org', options, (err, addresses) => console.log('addresses: %j', addresses));
Producción:
addresses: [ {"address":"34.218.62.116","family":4}, {"address":"fd00:0:13:13::22da:3e74","family":6} ]
Nota: El programa anterior se compilará y ejecutará usando el node index.js
comando.
Referencia: https://nodejs.org/api/dns.html#dns_dns_lookup_hostname_options_callback