Latest web development tutorials

Node.js módulo DNS

Node.js módulo DNS

Módulo herramienta Node.js Módulo herramienta Node.js

Node.js módulo DNS se utiliza para resolver los nombres de dominio.La introducción de la sintaxis módulo DNS es el siguiente:

var dns = require("dns")

camino

No. Método y Descripción
1 dns.lookup (nombre de host [, opciones], devolución de llamada)
El nombre de dominio (por ejemplo, 'w3big.com') resuelto para encontrar un primer registro (IPv4) o AAAA (IPv6). Las opciones de parámetro pueden ser un objeto o un número entero. Si no hay opciones, la dirección IP v4 y v6 puede ser. Si las opciones son números enteros, tiene que ser de 4 o 6.
2 dns.lookupService (dirección, puerto, de devolución de llamada)
Utilice getnameinfo análisis de la dirección de entrada y el puerto para el nombre y los servicios de dominio.
3 dns.resolve (nombre de host [, rrtype], devolución de llamada)
Un nombre de dominio (por ejemplo, 'w3big.com') resolvió un rrtype matriz especifica el tipo de registro.
4 dns.resolve4 (nombre de host, devolución de llamada)
Y dns.resolve () es similar, sólo la consulta IPv4 (un registro). se ocupa de la dirección IPv4 de la matriz (por ejemplo, ['74 .125.79.104 ', '74 .125.79.105', '74 .125.79.106 ']).
5 dns.resolve6 (nombre de host, devolución de llamada)
Y dns.resolve4 () es, sólo las consultas de IPv6 (consultas AAAA) similares
6 dns.resolveMx (nombre de host, devolución de llamada)
Y dns.resolve () es sólo el intercambio electrónico consulta similar (registro MX),.
7 dns.resolveTxt (nombre de host, devolución de llamada)
Y dns.resolve () es similar, sólo para consultas de texto (registros TXT). el texto se dirige a una matriz 2-D de los registros. (Por ejemplo, [[ 'v = spf1 IP4: 0.0.0.0', '~ todos "]]). Cada bloque sub-matriz contiene un registro TXT. Dependiendo de la situación pueden ser unidos entre sí, sino que también se pueden utilizar por separado.
8 dns.resolveSrv (nombre de host, devolución de llamada)
Y dns.resolve () es similar, sólo el servicio de registro de consulta (registros SRV). direcciones nombre de host está disponible matriz de registro SRV. registro SRV atributos de prioridad (prioridad), el peso (peso), el puerto (puerto), y el nombre (nombre) (por ejemplo, [{ "prioridad": 10, "peso": 5, "puerto": 21223, el nombre ' ':' service.example.com '}, ...]).
9 dns.resolveSoa (nombre de host, devolución de llamada)
Y dns.resolve () es sólo el registro Autoridad consulta similar (registro SOA),.
10 dns.resolveNs (nombre de host, devolución de llamada)
Y dns.resolve () es similar, sólo consulta los registros del servidor de nombres de dominio (registros NS). se dirige a un conjunto de registros es un servidor de nombres de dominio (nombre de host se puede utilizar) (por ejemplo, [ 'ns1.example.com', 'ns2.example.com']).
11 dns.resolveCname (nombre de host, devolución de llamada)
Y dns.resolve () es alias similares, sólo los registros cheque a cabo (registro CNAME). direcciones es un conjunto de alias de nombre de host registros disponibles (por ejemplo ,, [ 'bar.example.com']).
12 dns.reverse (ip, devolución de llamada)
direcciones IP resolución inversa, los nombres de dominio apuntan a la dirección IP de la matriz.
13 dns.getServers ()
Devuelve una cadena que representa la resolución actual de la dirección IP de la matriz.
14 dns.setServers (servidores)
Se especifica un conjunto de direcciones IP que el servidor de resolución.

rrtypes

A continuación hay una lista de métodos dns.resolve () rrtypes valores válidos:

  • 'A' la dirección IPv4, por defecto
  • 'AAAA' dirección IPV6
  • 'MX' registro de intercambio de correo
  • 'TXT' registros de texto
  • 'SRV' los registros SRV
  • 'PTR' para la búsqueda de IP inversa
  • 'NS' registros del servidor de nombres de dominio
  • 'CNAME' registro de alias
  • 'SOA' valor inicial del registro de autorización

código de error

Cada consulta DNS puede devolver el código de error siguiente:

  • dns.NODATA : Sin respuesta de datos.
  • dns.FORMERR : Consulta con formato incorrecto.
  • dns.SERVFAIL : Error general.
  • dns.NOTFOUND : Dominio no encontrado.
  • dns.NOTIMP : La operación solicitada no está implementada.
  • dns.REFUSED : negado consulta.
  • dns.BADQUERY : Pregunta con formato incorrecto.
  • dns.BADNAME : nombre de dominio está mal formado.
  • dns.BADFAMILY : la dirección de protocolo no es compatible.
  • dns.BADRESP : Responder con formato incorrecto.
  • dns.CONNREFUSED : No se puede conectar al servidor DNS.
  • dns.TIMEOUT : conexión con el servidor DNS de tiempo de espera.
  • dns.EOF : final del archivo.
  • dns.FILE : Error al leer el archivo.
  • dns.NOMEM : desbordamiento de la memoria.
  • dns.DESTRUCTION : canal se destruye.
  • dns.BADSTR : error de formato de cadena.
  • dns.BADFLAGS : identificador ilegal.
  • dns.NONAME : dado el anfitrión no es un número.
  • dns.BADHINTS : CONSEJOS ilegales identificador.
  • dns.NOTINITIALIZED : biblioteca de C, C-Ares no se ha inicializado.
  • dns.LOADIPHLPAPI : Error al cargar iphlpapi.dll.
  • dns.ADDRGETNETWORKPARAMS : No se puede encontrar la función GetNetworkParams.
  • dns.CANCELLED : Cancelar consulta DNS.

Ejemplos

Crear archivo main.js, el código es el siguiente:

var dns = require('dns');

dns.lookup('www.github.com', function onLookup(err, address, family) {
   console.log('ip 地址:', address);
   dns.reverse(address, function (err, hostnames) {
   if (err) {
      console.log(err.stack);
   }

   console.log('反向解析 ' + address + ': ' + JSON.stringify(hostnames));
});  
});

El código anterior se ejecuta, los resultados son los siguientes:

address: 192.30.252.130
reverse for 192.30.252.130: ["github.com"]

Módulo herramienta Node.js Módulo herramienta Node.js