El método dns.resolve() es una interfaz de programación de aplicaciones incorporada del módulo dns que se utiliza para convertir el nombre de host en una array de registros de recursos.
Sintaxis:
dns.resolve( hostname, rrtype, callback )
Parámetros: Este método acepta 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 va a resolver.
- rrtype: Especifica el tipo de registro del recurso. Su valor por defecto es ‘A’. La lista de registros (‘A’, ‘AAAA’, ‘ANY’, ‘CNAME’, ‘MX’, ‘TXT’, ‘NS’, ‘NAPTR’, ‘PTR’, ‘SOA’, ‘SRV’) son descrito abajo:
- R: dirección IPv4
- AAAA: dirección IPv6
- ANY: Cualquier registro
- CNAME: registros de nombres canónicos
- MX: registros de intercambio de correo
- NAPTR: registros de puntero de autoridad de nombre
- NS: registros del servidor de nombres
- PTR: registros de puntero
- SOA: inicio de registros de autoridad
- SRV: registros de servicio
- TXT: registros de texto
- devolución de llamada: especifica una función a la que se llamará después de la resolución DNS del nombre de host.
- error: Especifica error si se genera.
- registros: Es una string u objeto que significa el registro devuelto.
Valor de retorno: este método devuelve un error, registros 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.resolve() en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // dns.resolve() method // Accessing dns module const dns = require( 'dns' ); // Set the rrtype for dns.resolve() method const rrtype= "A" ; // Calling dns.resolve() method for hostname // geeksforgeeks.org and print them in // console as a callback dns.resolve( 'geeksforgeeks.org' , rrtype, (err, records) => console.log( 'records: %j' , records)); |
Producción:
records: ["34.218.62.116"]
Ejemplo 2:
// Node.js program to demonstrate the // dns.resolve() method // Accessing dns module const dns = require('dns'); // Set the rrtype for dns.resolve() method const rrtype="MX"; // Calling dns.resolve() method for hostname // geeksforgeeks.org and print them in // console as a callback dns.resolve('geeksforgeeks.org', rrtype, (err, records) => console.log('records: %j', records));
Producción:
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} ]
Ejemplo 3:
// Node.js program to demonstrate the // dns.resolve() method // Accessing dns module const dns = require('dns'); // Set the rrtype for dns.resolve() method const rrtype="TXT"; // Calling dns.resolve() method for hostname // geeksforgeeks.org and print them in // console as a callback dns.resolve('geeksforgeeks.org', rrtype, (err, records) => console.log('records: %j', records));
Producción:
records: [ ["v=spf1 include:amazonses.com include:_spf.google.com -all"], ["fob1m1abcdp777bf2ncvnjm08n"] ]
Ejemplo 4:
// Node.js program to demonstrate the // dns.resolve() method // Accessing dns module const dns = require('dns'); // Set the rrtype for dns.resolve() method const rrtype="NS"; // Calling dns.resolve() method for hostname // geeksforgeeks.org and print them in // console as a callback dns.resolve('geeksforgeeks.org', rrtype, (err, records) => console.log('records: %j', records));
Producción:
records: [ "ns-1520.awsdns-62.org", "ns-1569.awsdns-04.co.uk", "ns-245.awsdns-30.com", "ns-869.awsdns-44.net" ]
Nota: El programa anterior se compilará y ejecutará usando el node index.js
comando.
Referencia: https://nodejs.org/api/dns.html#dns_dns_resolve_hostname_rrtype_callback