Java 模拟POST请求

在存在form的场合下,我们可以模拟post请求,从而达到想要的效果。

但是,在某些场合下面,我们不想创建多个的form表单,而又想实现post请求,接下来,总结下解决办法。

post请求:

[java] view plain copy
 
  1. public String makeHtmlPageGet(String url, String[] parameters) throws Exception {  
  2.   
  3.     StringBuffer sbRtn = new StringBuffer();  
  4.     sbRtn.append("");  
  5.     sbRtn.append("");  
  6.     sbRtn.append("");  
  7.     sbRtn.append("登录中");  
  8.     sbRtn.append("");  
  9.     sbRtn.append(  
  10.             ")  
  11.             .append(url).append("\" method=\"post\">");  
  12.   
  13.     for(int i=0;i
  14.         String[] keyAndValue = parameters[i].split("=");  
  15.         if(keyAndValue.length == 2){  
  16.             sbRtn.append(").append(keyAndValue[0])  
  17.             .append("\" value=\"").append(keyAndValue[1])  
  18.             .append("\"/>");  
  19.         }else{  
  20.             sbRtn.append(").append(keyAndValue[0])  
  21.             .append("\" value=\"\"/>");  
  22.         }  
  23.           
  24.     }  
  25.     // submit按钮控件请不要含有name属性  
  26.     sbRtn.append("");  
  27.     sbRtn.append("");  
  28.     sbRtn.append("");  
  29.     return sbRtn.toString();  
  30. }  
[java] view plain copy
 
  1. "code" class="java">模拟一个页面,将需要post请求的参数进行拼接,通过js的submit提交进行post请求。  

 
  
[java] view plain copy
 
  1. //生成post请求页面  
  2. result = makeHtmlPageGet(url, parameters);  

[java] view plain copy
 
  1. PrintWriter out = response.getWriter();  
  2. out.println(new String(result.getBytes("UTF-8"),"ISO-8859-1"));  
解决post请求的需求。

你可能感兴趣的:(Java 模拟POST请求)