URL解析
使用我们的URL解析工具从任何URL解析详细信息,便于管理和分析。

URL解析是一款免费工具,可将网址拆分为协议、路径和查询字符串。
URL解析能提取哪些内容?
URL解析可以识别网址的结构组成,无需手动拆分文本。此工具通过 PHP 的 parse_url 函数返回三个字段。
- 协议用于标识协议或寻址方案,例如 https 或 http。
- 路径用于标识路径部分,例如 /account/orders/42。
- 查询包含用于开始查询部分的问号之后、任何未编码井号之前的文本,例如 page=2&sort=date。
检查 API 请求、回调 URL、应用日志或第三方数据时,解析 URL 很有用。在调试、记录或转换网址前,你可以先区分路由信息和查询参数。
返回结果不会单独列出主机名、端口或片段。如果需要这些组成部分,请在应用中使用功能更完整的 URL 解析库。
如何使用URL解析?
输入完整或部分 URL,然后查看工具返回的协议、路径和查询值。完整的绝对 URL 通常能得到最清晰的结果,因为其中明确指定了协议。
- 从浏览器、API 响应、Webhook 记录或服务器日志中复制 URL。
- 如果需要检查参数名称或值,请一并复制查询字符串。
- 将返回的路径与应用预期的路由进行比较。
- 根据集成要求,检查协议和查询部分是否存在。

解析过程在服务器上完成。你的输入会通过 HTTPS 发送到服务器,并且不会被存储。即便如此,如果使用脱敏示例也能解决问题,请不要提交仍然有效的访问令牌、签名下载链接、会话标识符或其他凭据。
示例与结果解读
对于绝对 API URL,解析器会分别提取协议、路由和原始查询字符串。
输入 https://api.example.co.uk/v1/orders/42?expand=items¤cy=GBP
协议 https
路径 /v1/orders/42
查询 expand=items¤cy=GBP
查询内容会作为一个完整部分返回。按照常见的表单和查询字符串约定,& 符号用于分隔字段,每个字段中的第一个等号用于分隔名称和值。仅解析 URL 并不能确认 expand 或 currency 是否为该 API 支持的参数。
相对引用也可以包含路径和查询,而不指定协议。
输入 /search?q=red%20shoes&page=2
协议 no scheme component
路径 /search
查询 q=red%20shoes&page=2
对于同一网站内部生成的链接,没有协议通常是正常情况。但如果数据中本应包含绝对回调 URL,这一结果可能说明缺少 https:// 前缀。
此解析器不是 URL 验证器。它可以帮助发现可疑结构,例如缺少协议、路径异常或查询文本出现在错误位置,但解析结果并不能证明该地址真实存在、可通过 DNS 解析,或能够返回成功的 HTTP 响应。

空格、标点和特殊输入会如何处理?
保留字符会影响 URL 的拆分方式,而编码后的字符通常会保留在其所在的组成部分中。解析器只拆分各个部分,不会解码或规范化其中的内容。
- 未编码的问号表示查询部分开始。如果查询之外的数据本身需要包含问号,而该问号可能被当作查询分隔符,就应使用百分号编码。
- & 符号通常用于分隔查询参数,但此工具会返回完整的查询字符串,不会逐个解析参数。
- 在标准 URL 语法中,未编码的井号 (#) 是片段分隔符。此工具返回的字段不包括片段数据。
- 空格通常应进行编码,常见形式为 %20。在表单编码的查询数据中,加号可能表示空格,但这是查询解码规则,不属于 URL 解析本身。
- 如果接收系统有相关要求,路径或查询中的重音字符和非拉丁字符应使用 UTF-8 百分号编码。为获得广泛的协议兼容性,国际化域名应使用其 ASCII 兼容形式。
- 数字没有特殊的解析规则,在路径或查询值中会作为普通字符保留。
空输入没有可供检查的有用 URL 结构。超长 URL 还可能受到浏览器、Web 服务器、代理和应用框架等其他环节的限制。此工具无法判断其他系统是否会接受特定长度的 URL。
哪些情况下值得解析 URL?
如果需要在代码或基础设施处理网址之前诊断其结构,就值得进行解析。常见场景包括在部署前检查 Webhook 回调地址、审查重定向目标、分离 API 路由与筛选条件,以及读取从反向代理日志中复制的 URL。
如果某个已知 URL 本身已有明确结构,只会由机器处理,而且应用已经使用 URL 库,通常无需再解析。如果你需要测试可用性、跟随重定向、解码每一个查询参数,或验证域名是否可信,URL 解析也不是合适的操作。
对于重复性或自动化任务,请使用运行环境原生提供的 URL 功能。PHP 提供 parse_url,浏览器 JavaScript 提供 URL 接口,Node.js 提供 URL 类,Python 则包含 urllib.parse。处理包含数千个网址的日志文件时,编写一个简短的命令行脚本比手动解析更合适。
如果 URL 已经完全符合接收系统要求,不要仅为了调整格式而解析它。无明确原因地重新编码或重建网址,可能会改变查询签名、重复参数或保留字符。
常见问题
没有 http 或 https 也能解析 URL 吗?
可以。PHP 的 parse_url 函数能够解析相对引用和部分 URL,但如果输入中没有提供协议,结果中也不会有协议信息。对于以两个斜杠开头的协议相对地址要格外谨慎,因为其含义取决于所在文档或应用。
重复的查询参数会保留吗?
查询会作为原始组成部分返回,因此同名参数可以按原始顺序保留。之后如何将 tag=red&tag=blue 这样的值转换为数组或单独的值,取决于后续使用的查询字符串解析器。
粘贴签名 URL 安全吗?
输入会通过 HTTPS 发送且不会被存储,但只要签名仍然有效,签名 URL 仍可能授予对私密内容的访问权限。如果无需使用真实凭据,请对令牌进行脱敏,或用具有代表性的占位符替换主机名和值。
为什么看起来有效的 URL 在我的应用中表现不同?
不同框架处理查询解码和 Unicode 规范化的方式可能不同。应用还可能在解析后执行额外规则,包括主机名允许列表和重定向限制。先逐字节比较原始 URL,再检查应用在发送请求前解码或重写了哪些内容。