日期:2014-05-19  浏览次数:21126 次

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