通过HttpClient获取cookie

import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.PostMethod;

public void hazardSources() {
try {
HttpClient httpClient = new HttpClient();
MultiThreadedHttpConnectionManager m = new MultiThreadedHttpConnectionManager();
m.getParams().setConnectionTimeout(5000);
m.getParams().setSoTimeout(20000);
httpClient.setHttpConnectionManager(m);
PostMethod post = new PostMethod(“url”);

		post.addParameter("username", "username");
		post.addParameter("password", "password");
		
		post.addRequestHeader(new Header("Content-Type", Constant.ONTENT_TYPE_URLFORM));
		// 设置 HttpClient 接收 Cookie,用与浏览器一样的策略
        httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
		int code = httpClient.executeMethod(post);
		StringBuffer tmpcookies = new StringBuffer();
		JSONObject job = JSONObject.parseObject(post.getResponseBodyAsString());
		if(200 == code) {
			if("200".equals(job.getString("code"))) {
				Cookie[] cookies2= httpClient.getState().getCookies();
				for (Cookie c : cookies2) {
					tmpcookies.append(c.toString() + ";");
				}
			}
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
}

版权声明:本文为qq_36126348原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。