![](/img/trans.png)
[英]Android Webkit CookieManager: How to get all cookies via CookieManager?
[英]Is there a class in Android for formatting Cookies into the value for a CookieManager?
當我的應用程序啟動時,我將登錄請求發布到Web服務並收到Cookie。 我想在我的WebView中使用該Cookie,可通過以下代碼進行操作:
List<Cookie> cookies = this.get_my_cookies_from_somewhere();
CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
for (Cookie cookie : cookies) {
String rawUrl = (cookie.isSecure() ? "https" : "http") + "://" + cookie.getDomain() + cookie.getPath();
cookieManager.setCookie(rawUrl, cookie.getName() + "=" + cookie.getValue() + "; domain=" + cookie.getDomain());
}
cookieSyncManager.sync();
理想情況下,我想由Cookie類或某些實用程序類來構建CookieManager所需的cookie url和“ Set-Cookie”標頭值。 這樣的事情存在嗎?
我嘗試了RFC2109Spec和RFC2965Spec,但它們產生的是“ Cookie”標頭,而不是“ Set-Cookie”標頭。
首選方法似乎是將標題從您的響應直接發送到CookieManager。 我將此基於我從Romain Guy找到的代碼 :
final CookieManager cookieManager = CookieManager.getInstance();
final HttpResponse response = ...
final Header[] cookies = response.getHeaders("set-cookie");
for (Header cooky : cookies) {
cookieManager.setCookie(url, cooky.getValue());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.