Método Node.js dnsPromises.resolve()

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.jscomando.

Referencia: https://nodejs.org/api/dns.html#dns_dnspromises_resolve_hostname_rrtype

Publicación traducida automáticamente

Artículo escrito por vyer y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *