查询字符串构建器

=

从键值对列表中构建正确编码的查询字符串。该构建器按照RFC 3986的标准处理保留字符、空格及非ASCII输入,因此您可以直接将结果插入URL中,而不会因遇到井号或等号而出现格式错误。

如何构建查询字符串

  1. 1

    添加您的配对项

    输入每个参数的名称和值。如需添加更多键,请增加行数。

  2. 2

    让编码过程自然发生。

    空格会转换为%20,非ASCII文本按UTF-8进行百分号编码,&、=、#、?等保留字符也会安全编码。

  3. 3

    复制输出内容

    在URL前添加?符号,或将其粘贴至Postman、Curl或fetch()函数中。

什么会被编码

根据RFC 3986标准,所有不在未保留集(A-Z a-z 0-9 - _ . ~)范围内的数据均必须在查询组件中进行百分比编码。实际应用中这意味着:

字符 编码方式 原因
空间 %20+ 在不同上下文中含义不明确
& %26 分离字符串中的字符对,会导致字符串断裂
= %3D 将键与值分离
# %23 启动该片段
? %3F 启动查询操作本身
/ %2F 行为安全,价值观却充满风险

重复键

每一行都会单独编码并保持输入顺序,因此重复输入tag会得到tag=a&tag=b。如果服务器要求方括号写法,请把键填写为tag[]。本工具不会猜测框架采用哪种约定。

小贴士

始终对用户提供的值进行编码处理;切勿将其原始形式直接拼接至URL中。 若数值呈现二进制格式,请先将其转换为Base64 URL编码再使用。

常见问题

构建器始终按照RFC 3986把空格输出为%20。解析器也接受+,并在表单式查询中将其还原为空格。

请重复输入密钥:tags=php&tags=laravel。部分框架支持括号格式(如 tags[]=php&tags[]=laravel),请根据后端系统的解析规则进行匹配。

这是您的模板引擎应用的HTML实体编码,而非查询字符串本身。请确保在href标签中渲染时不会对输出内容进行双重转义。

实际长度没有统一上限,浏览器、代理、CDN和服务器各有不同限制。大量数据请放在请求正文中。

相关工具

此工具还提供其他语言版本