HTTP GET 请求在遇到&时被截断?
- Java code
String orderId = request.getParameter("orderId"); String pstr1 = request.getParameter("pstr"); //假如pstr=www&baidu,那么&后的就被截断了,只能读出pstr=www。这种情况怎么解决? String amt = request.getParameter("amt"); String state = request.getParameter("state"); String cert = request.getParameter("cert"); [解决办法]
有个encode、decode的过程,把类似&的特殊字符做个转换
[解决办法]
pstr=www&baidu
你生成这种参数本身就违规了,因为&在URL中是参数分割符,比如:
orderId=111&pstr=www@amt=xxxx
如果是另一个程序所自动生成的URL的话,那么在生成时要用java.net.URLEncoder 把这个value:“www&baidu”转码,然后再发送过来。
如果是手写的URL,那么要把 & 写成 %26,类似:
pstr=www%26baidu