簡體   English   中英

Android中是否存在用於將Cookie格式化為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM