我正在尝试连接到foodEssentials API并发送cookie。
我收到Cookie rejected: "BasicClientCookie ..."
我如何处理进入的Cookie或有任何示例,因为我环顾四周并找到了loopj
我不确定应该怎么做。浏览器是否处理cookie或应用程序?
答案 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。