要在 HttpURLConnection 中的每个请求后保留 cookie,应该在应用程序启动时添加 CookieHandler
:CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);
但是在关闭并再次打开的应用程序中,cookie是空的...那么关闭后如何保存饼干呢?
例如将它们保存在共享首选项或文件中,并在打开后将它们取回......
我试图使用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);
}
}
谢谢。。
默认CookieStore
不会将任何内容保存到磁盘,您需要实现一个可以持久保存的内容。下面是一个将 Cookie 直接保存到共享首选项的示例实现。