• Node.js Video Tutorials

NodeJS - URL 模組



NodeJS URL 模組為我們提供了用於 URL 解析和分析的實用程式。URL 字串是一個包含多個片段的結構化字串。以下是一個包含多個片段的示例 URL。

該 URL = "http://user:pass@site.com:80/pa/th?q=val#hash"。

  • ‘http:’ 指定協議片段。

  • ‘user’ 指定使用者名稱片段。

  • ‘pass’ 指定密碼片段。

  • ‘site.com:80’ 指定主機片段。

  • ‘site.com’ 指定主機名部分。

  • ‘80’ 指定部分。

  • ‘/pa/th?q=val’ 指定路徑名片段。

  • ‘/pa/th’ 指定路徑部分。

  • ‘?q=val’ 指定搜尋部分。

  • ‘#bar’ 指定雜湊片段。

包含 URL 模組

要包含 URL 模組,請在 Node.js 文件的開頭新增以下語法。

語法

const url = require('url');

URL 模組在全域性物件上可用,因此我們可以使用它而無需訪問或匯入它。

現在,讓我們看看使用 NodeJS URL 模組中的方法的一些操作。

列印序列化後的 URL

要列印給定的序列化 URL,我們需要使用 NodeJS url.href 屬性。

示例

console.log("The given URL -");
const myURL = new URL('https://tutorialspoint.tw/index.htm');
console.log(myURL.href);

輸出

執行給定程式後,輸出將顯示如下

The given URL - https://tutorialspoint.tw/index.htm

從 URL 中列印主機名

要從 URL 中列印主機名片段,我們使用 NodeJS url.hostname 屬性。

示例

const myURL = new URL('https://tutorialspoint.tw:100/index.htm');
console.log("The URL: " + myURL.href);
console.log("Hostname of the URL: " + myURL.hostname);

輸出

讓我們編譯並執行程式,以產生以下結果

The URL: https://tutorialspoint.tw:100/index.htm
Hostname of the URL: www.tutorialspoint.com

從 URL 中列印路徑名

要從 URL 中列印路徑名片段,我們使用 NodeJS url.pathname 屬性。

示例

const myURL = new URL("https://tutorialspoint.tw/prime-pack/cloud-computing/index.asp");
console.log("The URL: " + myURL.href);
console.log("Pathname of the URL: " + myURL.pathname);

輸出

執行給定程式後,輸出將顯示如下

The URL: https://tutorialspoint.tw/prime-pack/cloud-computing/index.asp
Pathname of the URL: /prime-pack/cloud-computing/index.asp

URL 類

NodeJS URLSearchParams 類為我們提供了實用程式方法。使用這些方法,我們可以讀取和寫入 URL 的查詢片段。

屬性列表

以下是URL類中可用的屬性列表

序號 方法和描述
1

hash

用於獲取和設定 URL 的片段部分。

2

host

用於獲取和設定 URL 的主機部分。

3

hostname

用於獲取和設定指定 URL 的主機名部分。

4

href

用於獲取和設定序列化的 URL。

5

origin

用於獲取 URL 原點的只讀序列化。

6

password

用於獲取和設定給定 URL 的密碼部分。

7

pathname

用於獲取和設定給定 URL 的路徑名部分。

8

port

用於設定和獲取提供的 URL 的埠部分。

9

protocol

用於獲取和設定指定 URL 的協議部分。

10

search

用於獲取和設定 URL 的序列化查詢部分。

11

username

用於獲取和設定提供的 URL 的使用者名稱。

方法列表

以下是URL類中可用的方法列表

序號 方法和描述
1

toString()

用於從 URL 物件檢索序列化的 URL。

2

toJSON()

用於從 URL 物件檢索序列化的 URL。

3

domainToASCII()

用於返回將域轉換為 ASCII 字元並表示為 ASCII 字元的 Punycode。

4

domainToUnicode

用於返回域中存在的 ASCII 值的 Unicode。

5

fileURLToPath

用於接受檔案 URL 字串或 URL 物件並將它們轉換為正確編碼的路徑。

6

format()

用於返回 URL 字串的可自定義序列化,該字串是 WHATWG URL 物件的表示形式

7

pathToFileURL()

用於接受檔案路徑並將它們轉換為完全解析的檔案 URL 物件

8

urlToHTTPOptions()

用於將 URL 物件轉換為普通選項物件,該物件包含 URL 中每個片段的資料。

9

format(urlObject)

用於返回從 urlObject 派生的格式化 URL 字串。

10

parse()

用於接受 URL 字串,對其進行解析,最後返回一個包含提供的 URL 字串中存在的片段的物件。

URLSearchParams 類

NodeJS URL 類為我們提供了用於 URL 解析和分析的方法和屬性。使用它們,我們可以獲取和設定 URL 中存在的片段。此類在全域性物件上可用。

方法列表

以下是URLSearchParams 類中可用的方法列表

序號 方法和描述
1

new URLSearchParams (string)

用於使用 JSON 物件建立查詢字串物件。

2

new URLSearchParams(obj)

用於將輸入字串解析為查詢字串,並使用它來建立新的查詢字串物件。

3

append()

用於將指定的名稱/值對作為新的搜尋引數附加到查詢字串中。

4

delete()

用於刪除其值為名稱的所有名稱-值對。

5

entries()

用於返回一個 ES6 迭代器,該迭代器允許遍歷查詢字串中存在的所有名稱-值對。

6

forEach()

用於遍歷查詢中的所有名稱-值對並呼叫給定函式。

7

get()

用於從查詢字串中指定的名稱檢索值。

8

getAll()

用於獲取查詢字串中指定名稱的所有值。

9

has()

如果傳遞給此方法的名稱存在,它將列印 true,否則它將列印 false。

10

keys()

用於返回每個名稱-值對的名稱的 ES6 迭代器。

11

set()

用於將名稱-值對設定為查詢字串。

12

sort()

用於對查詢字串中所有名稱-值對的名稱進行排序。

13

toString()

用於檢索包含查詢片段搜尋引數的序列化字串。

14

values()

用於返回一個 ES6 迭代器,該迭代器允許遍歷每個名稱-值對的所有值

15

[Symbol.iterator]()

用於返回一個 ES6 迭代器,該迭代器允許遍歷查詢字串中存在的所有名稱-值對。

屬性列表

以下是urlObject中可用的屬性列表

序號 方法和描述
1

auth

用於指定 URL 的 auth 片段

2

hash

用於指定 URL 中的片段片段。

3

host

用於指定 URL 的完整小寫主機片段。

4

hostname

用於指定 URL 的主機片段的主機名部分的小寫形式。

5

href

用於指定使用協議和主機片段解析的完整小寫 URL 字串。

6

path

用於指定路徑片段以及如果存在的搜尋部分。

7

pathname

用於指定 URL 的路徑片段中的路徑名部分

8

port

用於指定 URL 中主機片段的數字埠部分。

9

protocol

用於指定 URL 的小寫協議方案。

10

query

用於指定 URL 中的查詢字串部分。

11

search

用於指定 URL 的完整查詢字串片段。

12

slashes

它根據 URL 的協議片段中冒號 (:) 後所需的兩個 ASCII 正斜槓 (//) 返回布林值。

廣告