如何在Android和/或Java中使用HttpClient管理cookie?我试图登录到一个站点并维护该会话/ cookie,以便服务器能够识别我的登录名,但是我正在努力寻找一种从响应中提取cookie并将其设置为保持我的登录名的请求的方法。我想知道是否应该使用标题“ Set-Cookie”或使用CookieStore。任何帮助是极大的赞赏。这是我的代码,并附有注释,我认为getHeader / getCookie方法可以使用。public class Http{DefaultHttpClient client = new DefaultHttpClient();HttpGet request;HttpEntity entity;HttpResponse response;HttpPost post;CookieStore cookieStore = new BasicCookieStore();HttpContext localContext = new BasicHttpContext();public static void setContext(){ localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);}public static void getPage(String url) throws Exception{ request = new HttpGet(url); response = client.execute(request, localContext); PARSER.preParse(url, response);}public static HttpResponse postPage(List<NameValuePair> params, String host, String action) throws Exception{ post = new HttpPost(host + action); post.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); response = client.execute(post, localContext); entity = response.getEntity(); if(entity != null) { entity.consumeContent(); } return response;}public void destoyHttp(){ client.getConnectionManager().shutdown();}}为了希望其他人能更好地理解我的困惑,我添加了我知道确实可以正常工作并维护会话的代码,但是当我尝试将代码移至我的实际应用程序中时,它陷入了混乱。
添加回答
举报
0/150
提交
取消