URL 编码、解码与解析工具
用规范真正要求的配置来编码,展开被重复编码的跳转,把链接拆到凭据和真实主机名,手动编辑查询字符串,一键去掉所有跟踪参数。
JavaScript 的做法:除 A-Z a-z 0-9 和 - _ . ! ~ * ' ( ) 之外全部转义。用于单个值够用,但子分隔符原封不动。
工作方式
链接进来
粘贴进来、打开装满链接的 .txt,或者让另一个 oLoveTools 工具把结果直接递过来。在你开口之前什么都不会处理。
被拆开
协议、凭据、真实主机名、端口、路径片段以及每一个参数,原始形态和解码形态并排呈现。
由你来改
重命名一个键、给查询字符串排序、展开重复编码的跳转,或者一次丢掉所有跟踪参数。Ctrl+Z 都能撤销。
干干净净地离开
复制它,把批量结果导出成 CSV 或 JSON,或者不经过下载文件夹直接送去另一个工具。
八种编码配置
encodeURIComponent 和 encodeURI 只是其中两个答案。RFC 3986 严格、form-urlencoded、路径、查询、片段和 RFC 5987 也都在这里,每一种都注明了什么时候该用它。
可以动手改的查询字符串
重命名键、修改值、调整行序、删掉多余项。你从未碰过的参数会逐字节写回 —— 连 + 和 %20 的差别都保得住。
一键清掉跟踪参数
utm_*、fbclid、gclid、msclkid、mc_eid 等数十种,按来源分组,并给出这次清理究竟省下了多少字节。
它会告诉你哪里不对
明文凭据、用形似字母拼写的主机名、其实是另一个 URL 的参数、被套了两层的转义 —— 在你点击之前就全部标出来。
重复编码,一次展开
跳转链常常被编码两三层。「反复解码直到不再变化」一次性展开,并告诉你用了几轮。
整份列表一起处理
丢进一个装着链接的文本文件,一趟全部清理干净,然后连同每条 URL 的节省量一起导出成 CSV 或 JSON。
该用哪种转义,取决于这个值最后落在哪里
同一个值放进路径片段、查询字符串、表单正文和 Content-Disposition 首部,需要四种不同的转义,而 JavaScript 只提供了其中两种。URLBolt 把八种都给你,说明每一种会放过哪些字符,并在你粘贴出去之前先验证:对结果解码能否原样还原你的输入。
没有任何内容离开你的浏览器
所有操作 —— 编码、解码、解析、punycode 转换、清除跟踪参数、批量清理 —— 都在你自己的标签页里通过浏览器原生 API 完成。没有上传,没有请求,没有服务器环节,也没有任何可被记录的东西。你要检查的链接,往往正是你最不想发给陌生服务器的那些,所以它们哪儿也不去。
为那些送到手上就是坏的链接而做
跳转三次的联盟链接、挂着十几个跟踪参数的推广链接、被百分号编码了两次的 API 回调、把密码留在授权部分的老接口、终端里只显示成 xn-- 的国际化域名。URLBolt 全都读得懂:它把 punycode 主机名还原成人能读的样子,展开层层嵌套的跳转,让你直接动手修查询字符串,而不必在文本编辑器里重拼整条地址。
没有注册,没有每日限额,也没有把好用的那一半藏起来的付费档。你打开的文件只在本地读取,从不外传;标签页一关,一切都被忘掉。
常见问题
QencodeURIComponent 和 encodeURI 有什么区别?+
encodeURI 会转义整个地址,但保留构成 URL 语法的字符 —— : / ? & = + $ , # —— 所以结果仍是一个能用的 URL。encodeURIComponent 连这些也一并转义,正适合单个参数的值。两者都不会转义 ! ' ( ) *,所以如果你要给请求签名,多半应该改用「RFC 3986 严格」这一档。
Q为什么解码后的文本里还留着一个 %?+
因为输入里有一处坏掉的转义 —— % 后面不足两位十六进制数字,或者跟着的两个字符根本不是十六进制。URLBolt 不会因此丢掉整段字符串,而是保留那个字面的 %,把其余部分照常解码,并列出每处问题的准确位置,让你看清链接是在哪里被截断的。
Q什么时候空格该写成 + 而不是 %20?+
在 application/x-www-form-urlencoded 的正文或查询字符串里 —— 也就是 HTML 表单发送的那种格式 —— 空格是 +。其他任何地方,包括路径片段,都是 %20。把这两者弄反是最常见的 URL 错误,所以两个方向都各有一个开关,编码器也会标明当前用的是哪一种。
Q去掉跟踪参数会把链接弄坏吗?+
几乎不会。utm_*、fbclid、gclid 这一类是给分析工具读的,页面本身并不使用,所以去掉之后目的地完全相同。那些有时是真参数的键 —— ref、source、s —— 默认保留,只有勾选更激进的选项才会被移除。
Q主机名下面那行 punycode 是什么意思?+
浏览器在发送之前,会把国际化域名转换成以 xn-- 开头的 ASCII 形式。URLBolt 把这种形式还原成可读的样子,并在某一段标签混用了多种文字时提醒你 —— 仿冒域名里用西里尔字母 а 冒充拉丁字母 a,靠的就是这一手。
Q会有内容被发送到服务器吗?+
不会。编码、解码、解析、punycode 转换和批量清理都是在你标签页中运行的浏览器原生 API。任何时候都不会发出网络请求,所以页面加载完成之后,这个工具离线也能用。