- Node.js 教程
- Node.js - 首頁
- Node.js - 簡介
- Node.js - 環境搭建
- Node.js - 第一個應用程式
- Node.js - REPL 終端
- Node.js - 命令列選項
- Node.js - 包管理器 (NPM)
- Node.js - 回撥函式概念
- Node.js - 上傳檔案
- Node.js - 傳送電子郵件
- Node.js - 事件
- Node.js - 事件迴圈
- Node.js - 事件發射器
- Node.js - 偵錯程式
- Node.js - 全域性物件
- Node.js - 控制檯
- Node.js - 程序
- Node.js - 應用程式擴充套件
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTFul API
- Node.js - 緩衝區
- Node.js - 流
- Node.js - 檔案系統
- Node.js MySQL
- Node.js - MySQL 入門
- Node.js - MySQL 建立資料庫
- Node.js - MySQL 建立表
- Node.js - MySQL 插入資料
- Node.js - MySQL 從表中查詢資料
- Node.js - MySQL Where 條件
- Node.js - MySQL Order By 排序
- Node.js - MySQL 刪除資料
- Node.js - MySQL 更新資料
- Node.js - MySQL 聯接
- Node.js MongoDB
- Node.js - MongoDB 入門
- Node.js - MongoDB 建立資料庫
- Node.js - MongoDB 建立集合
- Node.js - MongoDB 插入資料
- Node.js - MongoDB 查詢資料
- Node.js - MongoDB 查詢
- Node.js - MongoDB 排序
- Node.js - MongoDB 刪除資料
- Node.js - MongoDB 更新資料
- Node.js - MongoDB 限制結果數
- Node.js - MongoDB 聯接
- Node.js 模組
- Node.js - 模組
- Node.js - 內建模組
- Node.js - 實用程式模組
- Node.js - Web 模組
- Node.js 有用資源
- Node.js - 快速指南
- Node.js - 有用資源
- Node.js - 討論
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'
}
