个性化阅读
专注于IT技术分析

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.srcmini02.com', (err, addresses, family) => {
  console.log('addresses:', addresses);
  console.log('family:', family);
});

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

node dns_example1.js
Node.js DNS示例1

Node.js DNS示例2

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

档案:dns_example2.js

const dns = require('dns');
dns.resolve4('www.srcmini02.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示例2

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);
    // Prints: localhost
});

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

node dns_example3.js
Node.js DNS示例3
赞(0)
未经允许不得转载:srcmini » Node.js DNS

评论 抢沙发

评论前必须登录!