`
yhq1212
  • 浏览: 78965 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

后台模拟POST

    博客分类:
  • java
 
阅读更多

String url = "www.baidu.com";  
   NameValuePair[] data = {new NameValuePair("admin_userid", String.valueOf( this.getLoginUserMap().get("admin_userid")))};  
   String response= new MethodPost().methodPost(url,data);  
 

 

 


import java.io.IOException;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class MethodPost {
 public String methodPost(String url, NameValuePair[] data) {

  String response = "";// 要返回的response信息
  HttpClient httpClient = new HttpClient();
  PostMethod postMethod = new PostMethod(url);
  postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8"); 
  // 将表单的值放入postMethod中
  postMethod.setRequestBody(data);
  // 执行postMethod
  int statusCode = 0;
  try {
   statusCode = httpClient.executeMethod(postMethod);
  } catch (HttpException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
  // 301或者302
  if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
   // 从头中取出转向的地址
   Header locationHeader = postMethod.getResponseHeader("location");
   String location = null;
   if (locationHeader != null) {
    location = locationHeader.getValue();
    System.out.println("The page was redirected to:" + location);
    response = methodPost(location, data);// 用跳转后的页面重新请求。
   } else {
    System.err.println("Location field value is null.");
   }
  } else {
   System.out.println(postMethod.getStatusLine());

   try {
    response = postMethod.getResponseBodyAsString();
   } catch (IOException e) {
    e.printStackTrace();
   }
   postMethod.releaseConnection();
  }
  return response;
 }

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics