按 ⌘K 切换工具
NETWORK · HTTP
URL解析和分析工具
解析和显示URL的各个组件。
url-parser
§01 关于此工具
概述
这个工具用浏览器符合标准的 URL API 解析一条 URL,并把每个组成部分逐项列出:
Protocol、Host、Hostname、Port、Path、Query、Fragment
和 Origin。查询串还会被额外展开成键值表格并做百分号解码——排查重定向、
OAuth 回调、UTM 参数和签名 URL 时很有用。
把一条长 URL 拆开看,最常解决的是两类问题:某个参数值到底有没有被正确编码, 以及回调地址里的端口、路径和片段是不是和你以为的一样。
使用方法
- 把完整的 URL 粘贴到 URL 输入框,要带上协议(例如
https://)。 - 在统计列表里读取各个组成部分;缺失的部分会显示
(default)或(none)。 - 如果这条 URL 带查询串,可以在 Query parameters 表格里逐对查看。
示例
https://[email protected]:8080/path?a=1&b=2#top→ Protocolhttps:、Hostexample.com:8080、Port8080、Path/path、Fragment#top,参数a=1和b=2。https://example.com/search?q=hello%20world→ 参数q的值是hello world。
说明
输入必须是绝对 URL——像 /foo?bar=1 这样的相对路径会被判为 Invalid URL,
因为 WHATWG 的 URL 解析器要求带协议。解析规则与 fetch 和浏览器地址栏一致,
所以你在这里看到的就是你的代码看到的。
还要注意表格里的键值都是解码之后的形态,因此如果你要把其中某个值原样放回 URL 里, 记得重新编码一次。
FAQ
我粘贴的 URL 会被发送到你们的服务器吗?
不会。解析使用浏览器原生的 URL API,完全在你的设备上运行。这条 URL 既不会被传输也不会被请求——工具只检查这个字符串,不去访问这个地址。
host 和 hostname 有什么区别?
hostname 只是域名(example.com),而 host 在显式带端口时会包含端口(example.com:8080)。如果 URL 用的是该协议的默认端口,host 和 hostname 就完全一样,Port 会显示 "(default)"。
查询参数会被百分号解码吗?
会。参数通过 URLSearchParams 读取,所以表格里的键和值都是解码之后的形态——%20 变成空格,重复出现的键会各占一行。