AIStacker
Web

概览

URL 编码工具

按正确边界对完整 URL 或单个嵌套值进行编码,适合处理重定向地址、查询参数和回调链接。

分类 hub

Web

问题

2

FAQ

3

URL Encoder

Encode a full URL or a single nested component with the right boundary, then copy a clean result for redirects, query parameters, and callback links.

Encoded Output

Generated with encodeURIComponent-style rules.

https%3A%2F%2Fapp.aistacker.dev%2Fcallback%3Fplan%3Dpro%20plus%26from%3Dpricing

可以解决的问题

如何正确编码 redirect_uri?

将重定向目标视为一个嵌套值,并在将其附加到外部登录或 OAuth URL 之前,将其作为“单一组件”进行编码。这可以防止内部的 `?`、`&` 和 `=` 泄露到外部查询字符串中。

我应该编码整个 URL 还是编码一个查询值?

如果它已经是最终的可读 URL,则编码整个 URL;如果该值将被插入另一个 URL 并作为一个整体,则编码查询值。

典型使用流程

该工作流相关指南

Supporting guides that connect this tool to the broader category workflow.

打开分类 hub

是什么

URL 编码工具 是什么

URL 编码工具能帮助你在将值附加到重定向链接、回调 URL 或查询字符串之前,确定正确的编码边界。真正的挑战通常不在于百分比编码本身,而是在于判断当前内容是一个应保持可读性的完整 URL,还是一个必须被视为单一安全组件的嵌套值。

在涉及 `redirect_uri`、追踪参数、深度链接、签名 URL 以及在前后端代码间复制回调链接的工作流中,这种边界尤为重要。编码错误的层面会导致分隔符暴露、嵌套目标损坏,或者引发只有在经过多层重定向后才会出现的双重编码 Bug。

如何使用

如何使用URL 编码工具

在输入框中粘贴完整 URL 或单个嵌套值。如果字符串应保持为包含 `/`、`?`、`&` 和 `=` 等分隔符的可读 URL,请选择“完整 URL(Entire URL)”模式。如果该值将被作为编码单元插入另一个 URL(如 `redirect_uri` 或某个参数值),请选择“单一组件(Single Component)”模式。

检查编码输出,并参考边界提示和警告面板,确认没有对已包含百分比编码的序列或应单独处理的嵌套 URL 进行二次编码。

使用示例

使用示例

输入值:
https://app.aistacker.dev/callback?plan=pro plus&from=pricing

完整 URL 输出:
https://app.aistacker.dev/callback?plan=pro%20plus&from=pricing

单一组件 输出:
https%3A%2F%2Fapp.aistacker.dev%2Fcallback%3Fplan%3Dpro%20plus%26from%3Dpricing

常见使用场景

常见使用场景

1. 在将嵌套的 `redirect_uri` 附加到 OAuth 或登录 URL 前进行编码。

2. 编码包含空格、`&` 或 `=` 的单个查询参数值。

3. 检查回调目标是作为整体 URL 编码的还是作为单一组件编码的。

4. 在生产环境出现重定向 Bug 前,对比 `encodeURI` 和 `encodeURIComponent` 风格的输出。

常见问题

常见问题

什么时候该编码完整 URL,什么时候该编码单一组件?v
当字符串本身就是一个独立的、需要保持分隔符可读的完整 URL 时,编码完整 URL。当该值是要放入另一个 URL 内部作为一个安全单元时,请编码单一组件。
为什么 redirect_uri 通常需要组件编码?v
因为重定向目标通常位于另一个查询字符串内部。如果你过早地让其中的 `?`、`&` 或 `=` 保持可读,外部 URL 可能会将嵌套的目标拆分为多个独立的参数。
“过度编码(Over-encoding)”通常意味着什么?v
过度编码通常意味着该值已经包含百分比编码序列,但在上游又被编码了一次。这通常表现为重复的 `%25` 模式或看起来不连贯的嵌套 URL。