URL 解析器 — 在浏览器中将 URL 拆解为各组成部分
将 URL 解析为各组成部分 —— scheme、host、port、path、query、fragment。符合 RFC 3986,全部本地运行。无上传、无注册。
URL Parser
Parse URLs to extract protocol, hostname, path, query params, and more.
URL 看起来像一整串字符,实际上是由一套自 2005 年以来基本未变的语法规则拼在一起的六个独立组成部分。scheme 告诉浏览器使用什么协议,authority 说明请求发往哪里,path 指定资源,query 附加参数,fragment 指向响应内部的某个片段。每个 Web 开发者都能叫出这些组成部分的名字,但能正确解析带有 userinfo(user:pass@host)、IPv6 地址([::1]:8080)或与 scheme 不一致的端口的 URL 的人要少得多。URL 解析器省去这些猜测:粘贴一段字符串,得到结构化拆分结果,清楚哪个组成部分有问题。
URL 缺陷最常见的来源,是那些看起来是一回事、其实是另一回事的组成部分之间的交互。scheme 为 https 的 URL 使用端口 8080,在网络层能工作,但证书校验会失败,因为 TLS 期望的是 443 端口。fragment #/route 看起来像客户端路由,但浏览器在 HTTP 请求离开本机前就会把它剥离。path /foo/../bar 会被 HTTP 客户端在服务器看到之前解析为 /bar。解析器不解析这些交互 —— 它按字面展示每个组成部分 —— 但分开显示让这种交互变得可见,而单行 URL 字符串做不到这一点。
最后做个交接:如果 query string 需要结构化解析,请把 query 这一组成部分送入本站的 Query String Parser 工具,输出为 JSON。如果 URL 是更大的 HTTP 调试环节的一部分,把解析器与 HTTP Headers Parser 和 cURL-to-Python 搭配使用,从 URL 到线上格式追溯完整的请求链。站点迁移过程中批量检视 URL 时,复制整份列表逐个解析 —— 结构化输出让两个版本的同一 URL 之间的 diff 变得直观。
使用方法
粘贴一个 URL
把任意 URL 放入输入框 —— 绝对路径(`https://example.com/path?q=1#top`)、相对路径(`/path/to/resource`),或协议相对路径(`//cdn.example.com/lib.js`)。解析器会把它拆解为结构化的各个组成部分。
逐项检视各组成部分
scheme、authority(userinfo、host、port)、path、query string 和 fragment 分别显示在独立字段中。host 还会进一步拆分为 subdomain、domain 和 TLD,便于快速查看。
复制解析后的 JSON
点击「Copy as JSON」即可获得结构化输出,可直接用于脚本或调试。每个组成部分都是顶层 key,对应 URL 中的原始字符串值。
常见问题
解析器能处理格式错误或不完整的 URL 吗?
可以。Web URL 使用 WHATWG URL Standard,非浏览器 URL 回退到 RFC 3986。格式错误的 URL 会显示警告,指出哪个组成部分解析失败。像 `/api/users` 这类不完整 URL,会按「仅 path」解析,没有 scheme 也没有 authority。
host 和 hostname 有什么区别?
host 包含端口(`example.com:8080`),hostname 仅是域名(`example.com`)。端口单独显示。如果 URL 省略端口,会根据 scheme 推断(HTTP 为 80,HTTPS 为 443),并以括号形式展示。
查询参数如何处理?
原始 query string 按原样展示(`q=hello&page=1`)。如需结构化提取参数,请使用 Query String Parser 工具,它会把查询解析为 JSON 对象,支持数组处理、嵌套 key 和重复 key 合并。
解析输出中的 URL 编码文本如何处理?
解析器展示每个组成部分的解码形式。`/my%20file` 这个 path 会显示为 `/my file`,原始编码形式保留在独立的「raw」字段中。这样可同时查看人类可读版本与线上传输版本。
限制说明
- 不做 punycode 到 Unicode 的域名转换像 `xn--mnchen-3ya.de` 这类国际化域名以 Punycode 形式展示。Unicode 形式无法恢复,除非借助独立的 IDN 库,因为该编码本身是有损的。
- 不做 URL 规范化解析器不做 URL 规范化(例如解析 `../` 段、合并重复斜杠、解码过度编码的字符)。URL 按字面写法解析。
- 不跟随重定向,也不做 DNS 解析本工具是纯粹的语法解析器。不解析主机名、不跟随重定向,也不验证 URL 是否指向真实资源。
平台说明
- macOS
- Foundation 内建的 `NSURLComponents` 功能类似,但需要 Swift 或 Objective-C。若从 Safari 地址栏复制了 URL 想查看,无须写代码的话,本浏览器工具是更合适的选择。
- Linux
- 命令行等价方式:`python3 -c 'from urllib.parse import urlparse; print(urlparse("https://example.com"))'`。从聊天窗口或文档页临时复制 URL 来检查时,本浏览器工具更顺手。
- Windows
- PowerShell 的 `[System.Uri]` 类按相同的 RFC 3986 规则解析 URL,但需要 .NET 运行时。本浏览器工具零依赖、离线可用。
- Web
- 完全在客户端运行。调试 API 期间非常有用 —— 从控制台错误日志中粘贴一条 URL,立刻看清哪个组成部分出错。