跳到主内容
UniKit

URL 构建

可视化拼接 URL:scheme / 主机 / 端口 / 路径 / 查询参数 / 片段逐段填写,参数按 RFC 3986 百分号编码(正确处理中文、空格与 &=#),支持重复键与排序,并给出解析对照表。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

最终 URL

只做本地拼接与编码,不会访问任何地址。

百分号编码按 RFC 3986 只保留 A-Za-z0-9-._~,空格编成 %20
省略默认端口端口等于协议默认值时不写出来

最终 URL

拼接结果
https://shop.example.com/search/%E5%85%B3%E9%94%AE%E8%AF%8D?q=%E6%97%A0%E7%BA%BF%20%E8%80%B3%E6%9C%BA&tag=audio%26video&page=2&tag=sale%231#results
解析对照表
协议https
主机与端口shop.example.com
路径(解码后)/search/关键词
查询参数(解码后)q = 无线 耳机 | tag = audio&video | page = 2 | tag = sale#1
片段(解码后)results

这个工具能做什么

  • 给搜索、筛选或埋点链接拼参数:中文关键词、空格、& 和 # 都会被正确编码,不会再出现参数被截断的问题。
  • 需要同一个键出现多次(例如 tag=a&tag=b)时,每行写一条即可,工具不会合并重复键。
  • 调试回调地址:把路径、参数与片段分开填,对照表里能看到最终 URL 解码回来的每一段,确认有没有编错。

示例

输入

协议 https;主机 shop.example.com;路径 /search/关键词;参数 q=无线 耳机、tag=audio&video、page=2、tag=sale#1;片段 results

输出

https://shop.example.com/search/%E5%85%B3%E9%94%AE%E8%AF%8D?q=%E6%97%A0%E7%BA%BF%20%E8%80%B3%E6%9C%BA&tag=audio%26video&page=2&tag=sale%231#results

空格编成 %20 而不是 +,& 编成 %26、# 编成 %23;路径里的中文按 UTF-8 逐字节编码。

常见问题

空格到底该编成 %20 还是 +?

在 URL 的查询串里两者都能被解析成空格,但含义不同:%20 是 RFC 3986 的标准编码,+ 只在 application/x-www-form-urlencoded 里代表空格。为了避免服务端把 + 当成字面加号,这里统一用 %20。

为什么 & 和 = 必须编码?

它们分别是参数之间的分隔符和键值分隔符。参数值里出现未编码的 & 会让后面的内容被当成新参数,出现未编码的 = 则会让值被拆开。工具会把它们编成 %26 与 %3D。

重复的键会被合并吗?

不会。每行一条参数,重复键会按输入顺序(或你选择的排序方式)原样输出,方便拼出 tag=a&tag=b 这类数组参数。

排序会不会改变语义?

一般来说查询参数的顺序不影响语义,但少数接口对签名串的顺序敏感。如果链接需要签名校验,请用「保持输入顺序」并严格按接口文档拼接。

工具会请求这个 URL 吗?

不会。工具只做字符串拼接与编码,并用浏览器的 URL 解析器自校验一次格式,不会发起任何网络请求。

关键词:url builderquery string builderurl encoderpercent encodingrfc 3986query parametersURL 构建URL 拼接查询参数百分号编码中文编码URL 参数编码

同类工具