4

要在 HttpURLConnection 中的每个请求后保留 cookie,应该在应用程序开始时添加 CookieHandler:

CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);

但是在应用程序关闭和再次打开时cookies是空的......那么关闭后如何保存cookies?

诸如将它们保存在 SharedPreferences 或文件中并在打开后将它们取回...

我试图让他们使用 CookieStore,但这没有用:...

节省:

Settings.Save(c, TAG, cookieManager.getCookieStore().getCookies().toString());

加载:

String load = Settings.Load(c, TAG);
if (load != null) {
    for (HttpCookie hc : HttpCookie.parse(load)) {
        cookieManager.getCookieStore().add(new URI(Data.domain), hc);
    }
}

谢谢..

4

1 回答 1

8

默认情况下CookieStore不会将任何内容保存到磁盘,您需要实现一个。这是一个将 Cookie 直接保存到 SharedPreferences的示例实现。

于 2015-07-17T11:49:37.357 回答