本文概述
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示例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示例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

来源:
https://www.srcmini02.com/27839.html