Node.js – dnsPromises.lookup() 方法
**dnsPromises.lookup()** 方法将主机名(例如,tutorialspoint.com)解析为找到的第一个 A (IPv4) 或 AAAA (IPv6) 记录。**options** 中的属性是可选的。
**dns.lookup()** 与 DNS 协议无关。该实现使用可以将名称与地址关联起来的反之亦然的 OS 功能。
**dnsPromises** 和 **dns** 模块的区别在于,dns.promises 提供了一种替代的异步 DNS 方法,它返回 **Promise** 对象而不是回调函数。
语法
dnsPromises.lookup(hostname, [options])
参数
**hostname** – 这是您要查找 DNS 值的网站主机名。
**options** – 它可以包含以下选项
**family** – 它只能取值 4、6 或 0。值 0 表示返回 IPv4 和 IPv6 地址。
**hints** – 它启用一个或多个 **getAddrinfoflags**。
**all** – 当此值设置为 True 时,回调函数将所有解析的地址以数组形式返回,否则返回单个地址。
**verbatim** – 当设置为 True 时,回调函数按 DNS 解析器返回它们的顺序返回。
示例 1
创建一个名为 **"lookup.js"** 的文件并复制以下代码片段。创建文件后,使用命令 **"node lookup.js"** 来运行此代码。
// dns.lookup() method Demo Example
// Importing the dns module
const dns = require('dns');
const dnsPromises = dns.promises;
// Passing some options for dns.lookup()
const options = {
family: 6,
hints: dns.ADDRCONFIG | dns.V4MAPPED,
};
// Result will be an array, when all the options are true
dnsPromises.lookup('tutorialspoint.com', options).then((response) =>
{
console.log('addresses: %j', response);
});输出
C:\home
ode>> node lookup.js addresses: {"address":"64:ff9b::5fd9:4a92","family":6}
示例 2
// dns.lookup() method Demo Example
// Importing the dns module
const dns = require('dns');
const dnsPromises = dns.promises;
// Setting options for dnsPromises.lookup()
// method, all as true
const options = {
all:true,
};
// Result will be an array, when all the options are true
dnsPromises.lookup('tutorialspoint.com', options).then((response) =>
{
console.log('addresses: %j', response);
});输出
C:\home
ode>> node lookup.js addresses: [{"address":"95.217.74.146","family":4},{"address":"64:ff9b::5fd9 :4a92","family":6}]
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP