URL 解析器
把任意 URL 拆分为协议、凭据、主机、端口、路径段、查询参数和片段,显示解码后的值并输出 JSON。在浏览器中运行。
| 协议(scheme) | https: |
|---|---|
| 用户名 | user |
| 密码 | pass |
| 主机名 | shop.example.com |
| 端口 | 8080 |
| 路径 | /products/shoes |
| 路径片段(已解码) | 1. products 2. shoes |
| 查询字符串 | ?color=red&size=42 |
| 片段(hash) | #reviews |
| 源(origin) | https://shop.example.com:8080 |
| 规范化 URL | https://user:pass@shop.example.com:8080/products/shoes?color=red&size=42#reviews |
查询参数(2)
| 键 | 解码后的值 |
|---|---|
| color | red |
| size | 42 |
JSON
{
"protocol": "https:",
"username": "user",
"password": "pass",
"hostname": "shop.example.com",
"port": "8080",
"pathname": "/products/shoes",
"search": "?color=red&size=42",
"hash": "#reviews",
"origin": "https://shop.example.com:8080",
"params": {
"color": "red",
"size": "42"
}
}什么是 URL 解析器?
URL 解析器会把 URL 拆分为各个组成部分:协议、用户名、密码、主机名、端口、路径、路径段、查询字符串、各个查询参数和片段,并显示 origin 和规范化后的 URL。百分号编码的值会被解码,国际化主机名会同时以 punycode 和 Unicode 显示,重复的参数也会被保留。
如何使用 URL 解析器
- 粘贴绝对 URL,例如
https://user:pw@example.com:8080/a/b%20c?x=1&y=two#h。 - 查看组成部分表;未指定端口时,端口行会显示默认端口。
- 在查询参数表中查看每个解码后的键和值。
- 复制 JSON 块,在代码或测试中使用解析结果。
示例
输入
https://user:pw@example.com:8080/a/b%20c?x=1&y=two#h
输出
host example.com · port 8080 · path segments: 1. a, 2. b c · query ?x=1&y=two (x = 1, y = two) · fragment #h
何时使用 URL 解析器
适合调试跟踪链接、OAuth 重定向 URL、签名 URL 或带有许多参数的 API 调用。它只解析绝对 URL;对于相对路径,请先加上 https://example.com 之类的基础地址。它不会访问该 URL。
URL 解析器 的工作原理
URL 由浏览器内置的 WHATWG URL 类解析,也就是浏览器导航时使用的同一个解析器,所以结果与真实浏览器行为一致(主机名小写、点段被解析、IDN 转为 punycode)。查询参数来自 URLSearchParams,它会把 + 解码为空格,并按 UTF-8 解码百分号转义。路径段用 decodeURIComponent 解码,如果包含无效转义则保持原样。
常见用例
- 读取营销链接中的 UTM 和点击 ID 参数。
- 检查 OAuth 授权 URL 中的 redirect_uri 和 state。
- 解码百分号编码的路径段,查看原始文件名。
- 查找国际化域名的 punycode 形式。
常见问题
为什么我的 URL 被报告为无效?
解析器需要带协议的绝对 URL。example.com/page 是相对引用,请写成 https://example.com/page。
为什么 + 变成了空格?
在查询字符串中,URLSearchParams 遵循 HTML 表单编码,其中 + 表示空格。要表示字面上的加号,请使用 %2B。
URL 会被发送到别处吗?
不会,解析完全在你的浏览器中进行。
推荐的下一步
二维码生成器
免费二维码生成器,支持链接、文本、Wi-Fi 登录信息、联系人名片、邮件、短信和电话号码。可设置纠错级别、尺寸和颜色,并下载 PNG 或 SVG。
Slug 生成器
把标题转成干净的网址 slug:去除重音,转写越南语、西里尔和希腊字母,可设置分隔符、大小写和最大长度,并支持批量模式。
转义/反转义工具
一个工具搞定字符串转义与反转义:支持 JSON、JavaScript、HTML、XML、URL 组件、正则表达式、SQL 字面量、CSS 字符串和 Shell 参数。
正则表达式生成器
用步骤(文本、数字、字母、字符集、锚点)加上重复和分组,以可视化方式构建正则表达式,或从预设开始,并实时测试。
Cron 表达式解析
粘贴 cron 表达式即可验证、用通俗语言解读,并列出任意时区的后续 10 次执行时间。支持带秒的字段和 @daily 等宏。
提取链接
把纯文本、HTML(href 和 src)或 Markdown 中的每个链接提取成一份干净的列表。可去除重复项、包含相对链接,并支持复制或下载。