URL解析

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

2 个评分中的 5 个
URL解析

URL解析是一款免费工具,可将网址拆分为协议、路径和查询字符串。

URL解析能提取哪些内容?

URL解析可以识别网址的结构组成,无需手动拆分文本。此工具通过 PHP 的 parse_url 函数返回三个字段。

  • 协议用于标识协议或寻址方案,例如 https 或 http。
  • 路径用于标识路径部分,例如 /account/orders/42。
  • 查询包含用于开始查询部分的问号之后、任何未编码井号之前的文本,例如 page=2&sort=date。

检查 API 请求、回调 URL、应用日志或第三方数据时,解析 URL 很有用。在调试、记录或转换网址前,你可以先区分路由信息和查询参数。

返回结果不会单独列出主机名、端口或片段。如果需要这些组成部分,请在应用中使用功能更完整的 URL 解析库。

如何使用URL解析?

输入完整或部分 URL,然后查看工具返回的协议、路径和查询值。完整的绝对 URL 通常能得到最清晰的结果,因为其中明确指定了协议。

  1. 从浏览器、API 响应、Webhook 记录或服务器日志中复制 URL。
  2. 如果需要检查参数名称或值,请一并复制查询字符串。
  3. 将返回的路径与应用预期的路由进行比较。
  4. 根据集成要求,检查协议和查询部分是否存在。
digily.link 上的 URL解析 工具及其输入表单

解析过程在服务器上完成。你的输入会通过 HTTPS 发送到服务器,并且不会被存储。即便如此,如果使用脱敏示例也能解决问题,请不要提交仍然有效的访问令牌、签名下载链接、会话标识符或其他凭据。

示例与结果解读

对于绝对 API URL,解析器会分别提取协议、路由和原始查询字符串。

输入 https://api.example.co.uk/v1/orders/42?expand=items&currency=GBP

协议 https

路径 /v1/orders/42

查询 expand=items&currency=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 的拆分方式,而编码后的字符通常会保留在其所在的组成部分中。解析器只拆分各个部分,不会解码或规范化其中的内容。

  • 未编码的问号表示查询部分开始。如果查询之外的数据本身需要包含问号,而该问号可能被当作查询分隔符,就应使用百分号编码。
  • & 符号通常用于分隔查询参数,但此工具会返回完整的查询字符串,不会逐个解析参数。
  • 在标准 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,再检查应用在发送请求前解码或重写了哪些内容。

热门工具