2017年9月19日

http 参数中传递特殊字符需要先编码

遇到一个客户bug:远程设计密码有特殊字符,没法登陆

调试发现,客户端设计器设置密码 “1+1″,通过http请求发送到服务端时,内容变成了”1 1″。特殊字符丢失了。

跟老大描述了情况,老大轻描淡写一句话,“encode 一下就行了”。然后我就试了下,果然就行了。。。

贴上核心代码片段:

para.put("user", user);
password = URLEncoder.encode(password, "UTF-8");
para.put("password", password);
HttpClient client = createHttpMethod(para, true);

特殊字符必须编码后再发送。

正确流程是:客户端encode,发送数据,服务端decode

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*