El método dnsPromises.resolve() es una interfaz de programación de aplicaciones incorporada del objeto de promesas del módulo dns que se utiliza para convertir el nombre de host en una array de registros de recursos.
Sintaxis:
dnsPromises.resolve( hostname, rrtype )
Parámetros: este método tiene dos 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’. Los valores son de ‘A’, ‘AAAA’, ‘ANY’, ‘CNAME’, ‘MX’, ‘TXT’, ‘NS’, ‘NAPTR’, ‘PTR’, ‘SOA’, ‘SRV’.
- 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
Valor devuelto: este método devuelve errores, registros.
Los siguientes ejemplos ilustran el uso del método dnsPromises.resolve() en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // dnsPromises.resolve() method // Accessing promises object from dns module const dns = require('dns'); const dnsPromises = dns.promises; // Set the rrtype value for // dnsPromises.resolve() method const rrtype="NS"; // Calling dnsPromises.resolve() method dnsPromises.resolve('geeksforgeeks.org', rrtype).then((res) => { console.log(res); });
Producción:
[ 'ns-869.awsdns-44.net', 'ns-245.awsdns-30.com', 'ns-1520.awsdns-62.org', 'ns-1569.awsdns-04.co.uk' ]
Ejemplo 2:
// Node.js program to demonstrate the // dnsPromises.resolve() method // Accessing promises object from dns module const dns = require('dns'); const dnsPromises = dns.promises; // Setting rrtype for dnsPromises.resolve() method const rrtype = "MX"; // Calling dnsPromises.resolve() method asynchronously (async function() { // Records from resolve function const records = await dnsPromises.resolve('geeksforgeeks.org', rrtype); // Printing records console.log("from async: "); console.log(records); })();
Producción:
from async: [ { 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 }, { exchange: 'alt1.aspmx.l.google.com', priority: 5 } ]
Ejemplo 3:
// Node.js program to demonstrate the // dnsPromises.resolve() method // Accessing promises object from dns module const dns = require('dns'); const dnsPromises = dns.promises; // Set the rrtype for dnsPromises.resolve() method const rrtype = "A"; // Calling dnsPromises.resolve() method dnsPromises.resolve('geeksforgeeks.org', rrtype).then((res) => { console.log(res); });
Producción:
[ '34.218.62.116' ]
Ejemplo 4:
// Node.js program to demonstrate the // dnsPromises.resolve() method // Accessing promises object from dns module const dns = require('dns'); const dnsPromises = dns.promises; // Set the rrtype for dnsPromises.resolve() method const rrtype = "TXT"; // Calling dnsPromises.resolve() method dnsPromises.resolve('geeksforgeeks.org', rrtype).then((res) => { console.log(res); });
Producción:
(node:12752) ExperimentalWarning: The dns.promises API is experimental [ [ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ], [ 'fob1m1abcdp777bf2ncvnjm08n' ] ]
Nota: El programa anterior se compilará y ejecutará usando el node index.js
comando.
Referencia: https://nodejs.org/api/dns.html#dns_dnspromises_resolve_hostname_rrtype