- 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 - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - url.urlToHttpOptions() 方法
URL 类的 Node.js 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 对象转换为选项对象。
以下是返回的 options 对象中存在的属性
- protocol:指定 URL 的协议段。
- hostname:指定可能包含服务器的域名或 IP 地址的 URL 的主机名段。
- 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)
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'
}
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'
}