0

搜索了很多。

我有一个应用程序。应用程序在服务器上登录并接收一些 cookie,然后它可以使用它们执行一些 POST 请求(例如,获取用户配置文件)。我想在会话之间存储它们(这意味着我可以重新启动设备、运行应用程序并获取配置文件而无需额外登录)。或者,换句话说,如何创建持久的 cookie 存储?

我正在使用唯一的 DefaultHttpClient 并且没有 WebView。但是我应该在创建后使用一些 cookie 初始化这个客户端。我应该将它存储在文件中还是什么?有没有办法以 iOS 方式做到这一点,而不需要奇怪的黑客攻击,存储在文件/数据库中和手动填充 CookieManagers?

4

3 回答 3

4

现在我使用PersistentCookieStorage类来达到这些目的。我在应用程序启动时创建了一个单例。它将 cookie 存储在 SharedPreferences 中。

于 2012-06-04T17:18:33.620 回答
0

java.net.CookieStore 的实现,用于提供持久性 cookie。

使用这个https://gist.github.com/manishk3008/2a2373c6c155a5df6326

于 2014-09-13T20:24:06.083 回答
0

在CookieManager中存储一些数据:

void populateCookieStore(URI uri)
        throws IOException {

    CookieManager cm = new CookieManager(null, CookiePolicy.ACCEPT_ALL);

    CookieHandler.setDefault(cm);

    Map<String,List<String>> header = new HashMap<>();

    List<String> values = new ArrayList<>();

    values.add("JSESSIONID=" + SESSION_ID + "; version=1; Path="
               + URI_PATH +"; HttpOnly");

    values.add("CUSTOMER=WILE_E_COYOTE; version=1; Path=" + URI_PATH);

    header.put("Set-Cookie", values);

    cm.put(uri, header);
}
于 2017-04-05T10:25:25.197 回答