Nodejs教程-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
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
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
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