Node.js的DNS模块包含了一些方法,用于获取给定主机名的信息。让我们来看一下常用的DNS函数列表:

  • dns.getServers()
  • dns.setServers(servers)
  • dns.lookup(hostname[, options], callback)
  • dns.lookupService(address, port, callback)
  • dns.resolve(hostname[, rrtype], callback)
  • dns.resolve4(hostname, callback)
  • dns.resolve6(hostname, callback)
  • dns.resolveCname(hostname, callback)
  • dns.resolveMx(hostname, callback)
  • dns.resolveNs(hostname, callback)
  • dns.resolveSoa(hostname, callback)
  • dns.resolveSrv(hostname, callback)
  • dns.resolvePtr(hostname, callback)
  • dns.resolveTxt(hostname, callback)
  • dns.reverse(ip, callback)

Node.js DNS示例1

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

文件:dns_example1.js

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

在Node.js命令提示符中运行以下代码:

node dns_example1.js

1.jpg

Node.js DNS示例2

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

文件:dns_example2.js

javascriptCopy codeconst dns = require('dns');
dns.resolve4('www.javatiku.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

2.png

Node.js DNS示例3

让我们来看一个示例,使用lookupService()函数打印本地主机名。

文件:dns_example3.js

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

在Node.js命令提示符中运行以下代码:

node dns_example3.js

3.png

标签: Nodejs, Nodejs安装教程, Nodejs教程, node, nodejs入门, nodejs入门教程, nodejs进阶, nodejs学习教程, nodejs开发, nodejs指南, nodejs学习指南, nodejs环境配置, nodejs框架