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}]

更新於: 2021年10月29日

90 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告