Http cookie store in Android
18,639
You get your cookies from HttpResponse response
:
Header[] mCookies = response.getHeaders("cookie");
and add them to your next request:
HttpClient httpClient = new DefaultHttpClient();
//parse name/value from mCookies[0]. If you have more than one cookie, a for cycle is needed.
CookieStore cookieStore = new BasicCookieStore();
Cookie cookie = new BasicClientCookie("name", "value");
cookieStore.addCookie(cookie);
HttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
HttpGet httpGet = new HttpGet("http://www.domain.com/");
HttpResponse response = httpClient.execute(httpGet, localContext);
Author by
monomi
Updated on June 04, 2022Comments
-
monomi over 1 year
I am developing an Android client for the site with authorization. I have a post method. Example my code:
public void run() { handler.sendMessage(Message.obtain(handler, HttpConnection.DID_START)); httpClient = new DefaultHttpClient(); HttpConnectionParams.setSoTimeout(httpClient.getParams(), 25000); HttpResponse response = null; try{ switch (method){ case POST: HttpPost httpPost = new HttpPost(url); httpPost.setHeaders(headers); if (data != null) httpPost.setEntity(new StringEntity(data)); response = httpClient.execute(httpPost); break; } processEntity(response); }catch(Exception e){ handler.sendMessage(Message.obtain(handler, HttpConnection.DID_ERROR, e)); } ConnectionManager.getInstanse().didComplete(this); }
How to keep cookies?