1. 程式人生 > >HttpClient簡單請求和session的保持

HttpClient簡單請求和session的保持

HttpClient是一個客戶端的HTTP通訊實現庫,目標是傳送和接受HTTP請求。HTTPClient維護cookies,session的保持在客戶端就是cookie的體現。HttpClinet的session的保持有兩種方式,一種是將HttpClient例項保存於web應用的session中,再次請求時取出,因為httpclient會維持cookies。另一種是再次請求時,將上次請求獲取的cookies帶入請求中,此種方式無需將httpclient保存於session中。

  NameValuePair[] param = { new NameValuePair("username",userId), 
new NameValuePair("password",password) } ;
 
//第一種方式 httpclient保存於session,每次請求均為同一httpclient,httpclient維持cookies
//HttpClient client =(HttpClient) request.getSession().getAttribute("HTTPCLIENT");

//第二種方式 每次請求帶入之前請求獲取的cookies。
   HttpClient client=new HttpClient();
   client.getState().addCookies(cookies);


  PostMethod post=new PostMethod(url);
  client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
  client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
  post.setRequestBody(param);
  client.executeMethod(post);
  Cookie[] cookies=client.getState().getCookies();

  post.releaseConnection();

轉自:http://leoyy.iteye.com/blog/1561927