我试图写一个Java类登录到某个网站。在POST请求中发送的登录数据为
user%5Blogin%5D=username&user%5Bpassword%5D=123456
我很好奇在关键用户登录中%5B和%5D意味着什么。
如何解码这些数据?
我试图写一个Java类登录到某个网站。在POST请求中发送的登录数据为
user%5Blogin%5D=username&user%5Bpassword%5D=123456
我很好奇在关键用户登录中%5B和%5D意味着什么。
如何解码这些数据?
当前回答
最重要的是为什么这些符号出现在url中。 详见https://www.php.net/manual/en/function.parse-str.php#76792,具体如下:
parse_str('foo[]=1&foo[]=2&foo[]=3', $bar);
上述结果产生:
$bar = ['foo' => ['1', '2', '3'] ];
以及在数组中分离查询变量的方法是什么(至少在php中)。
其他回答
要找出这些值,只需在浏览器中使用Console并执行以下操作
console . log (decodeURI(“用户5Blogin 5D = username&user 5Bpassword % % 5D = 123456”))
他们代表[和]。这种编码称为“URL编码”。
[]在URL编码时被%5B%5D取代。
为了快速查看,你可以使用这个在线工具进行百分比/解码。
这些数据可能最初是从一个看起来有点像这样的web表单发布的(但可能要复杂得多):
<form action="http://example.com" method="post">
User login <input name="user[login]" /><br />
User password <input name="user[password]" /><br />
<input type="submit" />
</form>
如果方法是“get”而不是“post”,点击提交按钮会把你带到一个看起来有点像这样的URL:
http://example.com/?user%5Blogin%5D=username&user%5Bpassword%5D=123456
or:
登录http://example.com/?user [] = username&user[] =密码123456
另一端的web服务器可能会获取用户[login]和用户[password]参数,并将它们转换为一个用户对象,其中登录和密码字段包含这些值。