【问题标题】:Android: Http response cookie storeAndroid:Http响应cookie存储
【发布时间】:2013-06-04 21:10:25
【问题描述】:

我找不到任何资源来了解 Android 中的 Http 响应如何设置 cookie。我正在点击一个 URL 并像这样阅读响应:

            HttpGet httpGet = new HttpGet(url);
        HttpResponse response = client.execute(httpGet);
        StatusLine statusLine = response.getStatusLine();
        int statusCode = statusLine.getStatusCode();
        if (statusCode == 200) {
            HttpEntity entity = response.getEntity();
            String entityStr = EntityUtils.toString(entity);
                }

我被告知 Http 响应将设置一个 cookie,稍后将由另一个服务读取。我需要做些什么来确保设置 cookie 吗?如何验证是否正在设置 cookie。 谢谢。

【问题讨论】:

    标签: android httpresponse httpcookie


    【解决方案1】:

    如果您使用的是扩展AbstractHttpClient 的客户端,例如DefaultHttpClient,您可以在执行请求后执行以下操作来获取cookie。

    List<Cookie> cookiejar = client.getCookieStore().getCookies();
    

    【讨论】:

    • 我理解那部分。我的问题是,Android OS 是否处理响应标头中的 cookie 并将它们放在通用 cookie jar 中,以便稍后可以使用域名查找由完全不同的服务检索。我的问题是我的 Http 服务器通信完全独立于后端服务,后者需要 cookie 稍后将数据传回服务器。
    • 不,它们不在通用饼干罐中。我建议您获取从服务器请求返回的 cookie 列表并手动将它们添加到后续请求中。
    猜你喜欢
    • 1970-01-01
    • 2012-10-01
    • 2021-11-16
    • 2020-04-21
    • 1970-01-01
    • 2015-07-05
    • 2023-03-25
    • 2019-01-09
    相关资源
    最近更新 更多