Node.js DNS
Node.js DNS
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
const dns = require('dns');
dns.lookup('www.lidihuo.com', (err, addresses, family) => {
console.log('addresses:', addresses);
console.log('family:',family);
});
打开Node.js命令提示符并运行以下代码:
Node.js DNS示例2
让我们请参见resolve4()和reverse()函数的示例。
文件: dns_example2.js
const dns = require('dns');
dns.resolve4('www.lidihuo.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.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命令提示符并运行以下代码: