从域接受Cookie

时间:2014-03-30 13:01:12

标签: android cookies

我正在尝试连接到foodEssentials API并发送cookie。

我收到Cookie rejected: "BasicClientCookie ..."

的错误

我如何处理进入的Cookie或有任何示例,因为我环顾四周并找到了loopj

我不确定应该怎么做。浏览器是否处理cookie或应用程序?

2 个答案:

答案 0 :(得分:0)

浏览器自己处理服务器端cookie。

如果是Android应用程序,开发人员需要明确处理cookie。 以下是处理Cookie的示例:http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/httpclient/src/examples/org/apache/http/examples/client/ClientFormLogin.java

答案 1 :(得分:0)

您可以使用Apache http客户端的CookieStore类。在代码初始化的某处,创建一个cookie存储和http上下文:

    BasicCookieStore cookieStore = new BasicCookieStore();
    httpContext = new BasicHttpContext();
    httpContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

只要httpContext存活,cookie存储将管理所有cookie。

所以稍后,在执行请求时,您只需将上下文提供给httpClient:

AndroidHttpClient httpClient = AndroidHttpClient.newInstance(httpAgent);
HttpGet request = new HttpGet(url);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String json = httpClient.execute(request, responseHandler, httpContext);

...并且将妥善管理Cookie。

请参阅Android Http ClientBasic Cookie Store