HttpClient簡單請求和session的保持
阿新 • • 發佈:2019-01-22
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();
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