小编典典

POST 请求中的 %5B 和 %5D 代表什么?

all

我正在尝试编写一个 Java 类来登录某个网站。POST 请求中发送的登录数据为

user%5Blogin%5D=username&user%5Bpassword%5D=123456

我很好奇key user login*%5B中的and是什么意思。%5D *

我如何解码这些数据?


阅读 218

收藏
2022-04-06

共1个答案

小编典典

根据这里的答案:str='foo%20%5B12%5D'编码foo [12]

%20 is space
%22 is quotes
%5B is '['
and %5D is ']'

这称为百分比编码,用于对 url
参数值中的特殊字符进行编码。

编辑 顺便说一句,当我阅读https://developer.mozilla.org/en-
US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description时,我突然想到为什么这么多人进行相同的搜索。请参阅页面底部的注释:

另请注意,如果希望遵循更新的RFC3986
URL,保留方括号(用于 IPv6),因此在形成可能是 URL 的一部分(例如主机)的内容时不进行编码,以下可能会有所帮助。

function fixedEncodeURI (str) {
    return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}

希望这将帮助人们在偶然发现这个问题时解决他们的问题。

2022-04-06