You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用API时id[]参数出现%5B%5D编码的原因咨询

为什么API调用中id[]会变成id%5B%5D?

这其实是**URL编码(Percent-Encoding)**的标准行为,完全属于正常现象,下面给你拆解原因:

  • URL的字符规则限制:URL只能包含ASCII字符集中的"安全字符"——也就是字母、数字,以及-_.~这几个符号。像[和]这类属于"特殊字符",直接放在URL里会破坏URL的语法结构,所以必须被转义成十六进制编码的形式:

    • [ 会被编码为 %5B
    • ] 会被编码为 %5D
      所以id[]自然就变成了id%5B%5D。
  • 自动编码的触发场景:不管你是用浏览器地址栏输入、Postman等API工具调用,还是用Python的requests、PHP的curl这类代码库发送请求,底层都会自动帮你做这个编码操作——这是遵循HTTP协议规范的必要步骤,目的是保证请求能被服务器正确识别和解析。

  • 服务器端的兼容性:不用担心服务器读不到参数,绝大多数现代Web框架(比如Laravel、Django、Express等)都会自动对编码后的URL参数进行解码,最终服务器拿到的依然是id[]这个参数名,对应的数组值[45,125]也能正常获取。

如果你还是不确定,可以用调试工具(比如浏览器开发者工具的Network面板、Charles代理)查看请求详情,或者检查服务器的访问日志,就能确认服务器确实接收到了解码后的正确参数。

内容的提问来源于stack exchange,提问作者Nikita Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:02:22