1.java 获取请求URL ,进行编码 java.net.URLEncoder.encode。
public String getRequestUrl(HttpServletRequest req,HttpServletResponse resp) throws UnsupportedEncodingException, ParseException{
String queryString = "";
StringBuffer url = req.getRequestURL();
try{
req.setCharacterEncoding("utf-8");
Enumeration paramNames = req.getParameterNames();
while (paramNames.hasMoreElements())
{
String paramName = (String) paramNames.nextElement(); //属性名
if(paramName.equalsIgnoreCase("method")){
}else{
String[] paramValues = req.getParameterValues(paramName); //属性值
if (paramValues.length == 1)
{
String paramValue = paramValues[0];
paramValue = new String(paramValue.getBytes("utf-8"),"UTF-8");
paramValue = URLEncoder.encode(paramValue,"utf-8");//编码
queryString = queryString + paramName + "=" + paramValue + "&";
}
}
}
if (queryString.length() > 1 )
{
queryString = queryString.substring(0,queryString.length()-1);
}
}catch(Exception e){
}
if (!queryString.equalsIgnoreCase("")) {
url.append('?');
url.append(queryString);
}
System.out.println("请求地址1:"+url.toString());
return url;
}
}