【问题标题】:Using Cookies with Robospice Retrofit requests将 Cookie 与 Robospice 改造请求一起使用
【发布时间】:2014-08-18 22:35:40
【问题描述】:

谁能给我建议一种在 robospice 改造类型 HTTP 请求中管理 cookie 的方法。

我有一个身份验证系统,它有一个登录、几个 GET HTTP 请求和一个注销。

在登录期间,我需要保存会话并为其余的 GET HTTP 请求使用相同的会话,当我注销时,必须清除会话。

这里的登录是一个 HTTP POST 请求,它通过 JSON 格式发送和接收数据。我正在使用 robospice 改造,因为它可以轻松管理登录和注销请求。

【问题讨论】:

    标签: android session cookies retrofit robospice


    【解决方案1】:

    您可以通过java.net.CookieManager设置系统范围的cookie-handler

    CookieManager cookieManager = new CookieManager();
    cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
    CookieHandler.setDefault(cookieManager);
    

    在您的自定义 Application 类中。

    要在注销后清除 cookie,您可以使用这样的方法

    public void clearCookies() {
        cookieManager.getCookieStore().removeAll();
    }
    

    【讨论】:

    • 它仅适用于 API >= 9 对吗?我还需要对 Android API 8 的支持
    • @RevanthGopi 是的,没错。您可以在运行时检查 API 级别(如 Retrofit 所做的那样)并使用 java.net.CookieManager 的 cookie 管理 API >= 9,并使用 Apache 的 BasicCookieStore 用于 API stackoverflow.com/questions/18894540/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2019-04-24
    • 2013-11-18
    • 1970-01-01
    • 2015-06-30
    • 2016-08-06
    • 1970-01-01
    相关资源
    最近更新 更多