使用方法
- 粘贴完整 URL,并包含 https:// 或其他协议。
- 查看组成部分表格。使用复制按钮复制单个部分,例如主机名或路径。
- 检查查询参数:参数值会按原顺序解码显示,同名参数也会保留。
- 修改、添加或删除参数,然后复制重新生成的 URL。
工作原理
此工具使用浏览器内置的 URL 解析器(WHATWG URL 标准),因此解析结果与浏览器打开链接时的结果一致。它也会以相同方式规范化 URL:协议和主机名会转换为小写,https 的默认端口 443 等会被移除,/a/../b 这样的路径会被解析。
显示的部分包括协议(scheme)、URL 中包含的用户名和密码、带端口的主机、主机名、端口、路径、以 ? 开头的查询字符串、以 # 开头的片段,以及源(协议、主机和端口)。浏览器会使用源进行同源安全检查。密码默认隐藏,点击眼睛按钮后即可查看。
查询参数通过 URLSearchParams 读取。参数值会进行百分号解码,+ 会被视为空格,与 HTML 表单提交时的处理方式相同。同名参数如果出现多次(例如 size=42&size=43),会按原顺序分别列出,因为许多服务器会将它们作为列表读取。
编辑参数时,查询字符串也会通过 URLSearchParams 重新生成。这可能会改变您未编辑部分的写法:空格会写作 +,' 或 ~ 等字符也可能采用不同的转义方式。对于以表单编码格式读取查询字符串的服务器,参数含义保持不变。
包含非 ASCII 字符的主机名(国际化域名)会由 URL 解析器转换为 punycode,例如 münchen.de 会变为 xn--mnchen-3ya.de。此工具会同时显示两种形式。
示例
检查跟踪参数
粘贴一个营销活动链接,例如 https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring+sale,即可查看解码后的各个 utm_ 值(“spring sale”),移除不需要的参数,然后复制清理后的链接。
调试重定向 URL
某个登录链接包含 redirect=https%3A%2F%2Fapp.example.com%2Fdashboard%3Ftab%3D2。参数表会显示解码后的值 https://app.example.com/dashboard?tab=2,方便您准确查看用户将被转到哪里。
查找 CORS 所需的源
对于 https://api.example.com:8443/v1/users?id=7,其源为 https://api.example.com:8443。Access-Control-Allow-Origin header 必须与这个字符串完全一致,不能包含路径或尾部斜杠。
常见问题
host 和 hostname 有什么区别?
主机名仅指域名或 IP 地址(example.com)。如果 URL 指定了非默认端口,主机还会包含该端口(example.com:8443)。对于 https://example.com:443/,两者都是 example.com,因为 443 是 https 的默认端口,会被移除。
为什么 URL 会提示缺少协议?
如果没有 https:// 这样的协议,“example.com/page”就不是绝对 URL,而“example.com:8080”甚至会被解析为协议为“example.com”的 URL。此工具可以为您添加 https://。
为什么参数值中的 + 会显示为空格?
查询字符串通常按表单数据(application/x-www-form-urlencoded)读取,其中 + 表示空格。普通加号必须写作 %2B。这是 URLSearchParams 和大多数服务器框架的处理方式。
同名参数会如何处理?
所有同名参数都会按原顺序保留,并分别显示为一行。删除其中一行只会移除该项。
什么是 punycode?
DNS 只支持 ASCII 主机名,因此国际化域名会编码为以 xn-- 开头的标签。例如,bücher.example 会以 xn--bcher-kva.example 的形式发送。浏览器通常会在地址栏中显示易读的形式。
隐私
此工具使用浏览器内置的 URL 解析器解析 URL。不会向该 URL 发起请求,你粘贴的内容也不会被上传、存储或纳入分析统计。