📜  Node.js DNS

📅  最后修改于: 2020-12-24 03:34:58             🧑  作者: Mango

Node.js DNS

Node.js DNS模块包含获取给定主机名信息的方法。让我们看一下常用的DNS功能列表:

  • dns.getServers()
  • dns.setServers(服务器)
  • dns.lookup(主机名[,选项],回调)
  • dns.lookupService(地址,端口,回调)
  • dns.resolve(主机名[,rrtype],回调)
  • dns.resolve4(主机名,回调)
  • dns.resolve6(主机名,回调)
  • dns.resolveCname(主机名,回调)
  • dns.resolveMx(主机名,回调)
  • dns.resolveNs(主机名,回调)
  • dns.resolveSoa(主机名,回调)
  • dns.resolveSrv(主机名,回调)
  • dns.resolvePtr(主机名,回调)
  • dns.resolveTxt(主机名,回调)
  • dns.reverse(ip,回调)

Node.js DNS示例1

让我们看一下dns.lookup()函数的示例。

档案:dns_example1.js

const dns = require('dns');
dns.lookup('www.javatpoint.com', (err, addresses, family) => {
  console.log('addresses:', addresses);
  console.log('family:',family);
});

打开Node.js命令提示符并运行以下代码:

node dns_example1.js

Node.js DNS示例2

让我们看一下resolve4()和reverse()函数的示例。

档案:dns_example2.js

const dns = require('dns');
dns.resolve4('www.javatpoint.com', (err, addresses) => {
  if (err) throw err;
  console.log(`addresses: ${JSON.stringify(addresses)}`);
  addresses.forEach((a) => {
    dns.reverse(a, (err, hostnames) => {
      if (err) {
        throw err;
      }
      console.log(`reverse for ${a}: ${JSON.stringify(hostnames)}`);
    });
  });
}); 

打开Node.js命令提示符并运行以下代码:

node dns_example2.js

Node.js DNS示例3

让我们举个例子使用lookupService()函数来print本地主机名。

文件:dns_example3.js

const dns = require('dns');
dns.lookupService('127.0.0.1', 22, (err, hostname, service) => {
  console.log(hostname, service);
    // Prints: localhost
});

打开Node.js命令提示符并运行以下代码:

node dns_example3.js