El método dnsPromises.resolveAny() es una interfaz de programación de aplicaciones incorporada del objeto de promesas del módulo dns que se usa para resolver todos los registros (es decir, ‘ANY’ o ‘*’) para el nombre de host especificado usando el protocolo DNS.
Sintaxis:
dnsPromises.resolveAny( hostname )
Parámetros: este método acepta un solo parámetro 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.
Retorno: Este método devuelve error, registros.
Los registros que pueden ser devueltos están entre
- 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
Los siguientes ejemplos ilustran el uso del método dnsPromises.resolveAny() en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // dnsPromises.resolveAny() method // Accessing promises object from dns module const dns = require('dns'); const dnsPromises = dns.promises; // Calling dnsPromises.resolveAny() method dnsPromises.resolveAny('geeksforgeeks.org').then((res) => { console.log("for geeksforgeeks : "); console.log(res); }); // Calling dnsPromises.resolveAny() method dnsPromises.resolveAny('localhost').then((res) => { console.log("for localhost : "); console.log(res); });
Producción:
for localhost : [ { address: '127.0.0.1', ttl: 0, type: 'A' } ] for geeksforgeeks : [ { exchange: 'alt1.aspmx.l.google.com', priority: 5, type: 'MX' }, { exchange: 'alt2.aspmx.l.google.com', priority: 5, type: 'MX' }, { exchange: 'aspmx.l.google.com', priority: 1, type: 'MX' }, { exchange: 'alt3.aspmx.l.google.com', priority: 10, type: 'MX' }, { exchange: 'alt4.aspmx.l.google.com', priority: 10, type: 'MX' }, { value: 'ns-1520.awsdns-62.org', type: 'NS' }, { value: 'ns-1569.awsdns-04.co.uk', type: 'NS' }, { value: 'ns-245.awsdns-30.com', type: 'NS' }, { value: 'ns-869.awsdns-44.net', type: 'NS' }, { entries: [ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ], type: 'TXT' }, { entries: [ 'fob1m1abcdp777bf2ncvnjm08n' ], type: 'TXT' }, { nsname: 'ns-869.awsdns-44.net', hostmaster: 'awsdns-hostmaster.amazon.com', serial: 1, refresh: 7200, retry: 900, expire: 1209600, minttl: 86400, type: 'SOA' } ]
Ejemplo 2:
// Node.js program to demonstrate the // dnsPromises.resolveAny() method // Accessing promises object from dns module const dns = require('dns'); const dnsPromises = dns.promises; // Calling dnsPromises.resolveAny() method // asynchronously (async function() { // Records from resolveAny function const records = await dnsPromises.resolveAny('geeksforgeeks.org'); // Printing records console.log("from async: "); console.log(records); })();
Producción:
from async: [ { exchange: 'alt4.aspmx.l.google.com', priority: 10, type: 'MX' }, { exchange: 'alt1.aspmx.l.google.com', priority: 5, type: 'MX' }, { exchange: 'alt2.aspmx.l.google.com', priority: 5, type: 'MX' }, { exchange: 'aspmx.l.google.com', priority: 1, type: 'MX' }, { exchange: 'alt3.aspmx.l.google.com', priority: 10, type: 'MX' }, { value: 'ns-869.awsdns-44.net', type: 'NS' }, { value: 'ns-1520.awsdns-62.org', type: 'NS' }, { value: 'ns-245.awsdns-30.com', type: 'NS' }, { value: 'ns-1569.awsdns-04.co.uk', type: 'NS' }, { entries: [ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ], type: 'TXT' }, { entries: [ 'fob1m1abcdp777bf2ncvnjm08n' ], type: 'TXT' }, { nsname: 'ns-869.awsdns-44.net', hostmaster: 'awsdns-hostmaster.amazon.com', serial: 1, refresh: 7200, retry: 900, expire: 1209600, minttl: 86400, type: 'SOA' } ]
Nota: El programa anterior se compilará y ejecutará usando el node index.js
comando.
Referencia: https://nodejs.org/api/dns.html#dns_dnspromises_resolveany_hostname