• Node.js Video Tutorials

NodeJS - url.urlToHttpOptions() 方法



URL 類中的 **NodeJS url.urlToHttpOptions()** 方法接受一個 URL 物件,並將此 URL 物件轉換為一個普通的選項物件,其中包含 URL 中每個段的資料。

為了更好地理解 URL 中的段,假設一個序列化後的 URL“https://user:password@site.com:80/pa/th?a=bc#footer”。

  • “https:” 是協議段。

  • “user:password” 是身份驗證段。

  • “site.com” 是主機名段。

  • “80” 是埠段。

  • “/pa/th” 是路徑名段。

  • “/pa/th?a=bc” 是路徑段。

  • “a=bc” 是搜尋段。

  • “#footer” 是雜湊段。

語法

以下是 **URL 類中 NodeJS url.urlToHttpOptions() 方法** 的語法

url.urlToHttpOptions(url)

引數

  • **url:** 此引數儲存一個 WHATWG URL 物件,該物件將轉換為選項物件。

返回值

此方法將 WHATWG URL 物件轉換為選項物件。

以下是返回的選項物件中存在的屬性

  • **protocol:** 指定 URL 的協議段。

  • **hostname:** 指定 URL 的主機名段,該段可能包含伺服器的域名或 IP 地址。

  • **hash** 指定 URL 的片段段。

  • **search:** 指定 URL 的序列化查詢段。

  • **pathname:** 指定 URL 的路徑名段。

  • **path:** 指定 URL 的路徑段。如果輸入 URL 中的路徑段包含非法字元,則會丟擲異常。

  • **href:** 指定序列化的 URL。

  • **port:** 指定 URL 的埠段。

  • **auth:** 指定 URL 的使用者名稱和密碼段。

示例

如果我們將 URL 物件傳遞給 NodeJS url.urlToHttpOptions() 方法,它將把輸入的 URL 物件轉換為一個物件,該物件指定 URL 中的每個段。

在下面的示例中,我們嘗試使用 NodeJS url.urlToHttpOptions() 方法將 URL 物件轉換為選項物件。

const { urlToHttpOptions } = require('node:url');

const myURL = new URL("https://user:password@こんにちは:80/pa/th?a=bc#footer");

console.log(urlToHttpOptions(myURL));

輸出

以下是上述程式的輸出

internal/modules/cjs/loader.js:596
    throw err;
    ^

Error: Cannot find module 'node:url'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
    at Function.Module._load (internal/modules/cjs/loader.js:520:25)
    at Module.require (internal/modules/cjs/loader.js:650:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/home/cg/root/63a2e36702387/main.js:1:92)
    at Module._compile (internal/modules/cjs/loader.js:702:30)at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
    

**注意:**為了獲得準確的結果,最好在本地執行上述程式碼。

如輸出所示,NodeJS urlToHttpOptions() 方法將輸入的 URL 物件轉換為一個普通的選項物件。

{
  protocol: 'https:',
  hostname: 'xn--28j2a3ar1p',
  hash: '#footer',
  search: '?a=bc',
  pathname: '/pa/th',
  path: '/pa/th?a=bc',
  href: 'https://user:password@xn--28j2a3ar1p:80/pa/th?a=bc#footer',
  port: 80,
  auth: 'user:password'
}
nodejs_url_module.htm
廣告

© . All rights reserved.