2012-11-25 53 views
1

我有一個應用程序應發送GET請求到一個URL併發送一些cookie一起。我一直在尋找BasicCookieStore和Cookie類的幾個代碼示例,但我無法弄清楚如何使用它們。任何人都可以將我指向正確的方向嗎?Android的BasicCookieStore,餅乾和HttpGet

回答

2

使用cookie,你需要沿着線的東西:

CookieStore cookieStore = new BasicCookieStore(); 
DefaultHttpClient httpclient = new DefaultHttpClient(); 

HttpContext ctx = new BasicHttpContext(); 
ctx.setAttribute(ClientContext.COOKIE_STORE, cookieStore); 
HttpGet get = new HttpGet("your URL here"); 

HttpResponse response = httpclient.execute(get,ctx); 

如果你想保持請求之間的cookie,你必須重用cookieStorectx爲每個請求。

此外,您還可以讀取你的cookieStore,看看裏面有什麼:

List<Cookie> cookies = cookieStore.getCookies(); 
if(!cookies.isEmpty()){ 
    for (Cookie cookie : cookies){ 
     String cookieString = cookie.getName() + " : " + cookie.getValue(); 
     Log.info(TAG, cookieString); 
    } 
} 
+0

也許我沒有完全理解的cookies的概念,但我有我要發送到的URL作爲名稱 - 一兩個字符串值對。從這段代碼,我不明白如何做到這一點。你能指導我嗎? –

+0

@RameezHussain你可以使用'CookieStore'的addCookie()方法:http://developer.android.com/reference/org/apache/http/client/CookieStore.html – lenik