【发布时间】:2015-10-07 02:53:08
【问题描述】:
要在HttpURLConnection中每次请求后保留cookie,应该在应用程序启动时添加CookieHandler:
CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);
但是在应用程序关闭和再次打开时,cookie 是空的...... 那么关闭后如何保存cookie呢?
类似于将它们保存在 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);
}
}
谢谢..
【问题讨论】:
-
是的,
sharedPreference有什么问题?它们完全符合您的要求 -
是的,但是如何将 cookie 转换为字符串并返回呢?不过这没关系,我已经得到答案了……
标签: java android session-cookies cookiestore android-cookiemanager