java - cookiemanager 中的 setcookie 不适用于 Android

标签 java android http cookies android-studio

我在 androidapp 中使用 cookiemanager。 我调用了 cookiemanager 的一个实例并尝试使用 cookiemanager.setcookie(url,string) 设置 cookie。

但是我的 cookiemanager 实例没有设置任何 cookie。我尝试检查 SO 上的每个答案,但无法解决问题。任何有想法的人都会很有帮助。

 public void syncCookieStoreToWebView() {
    PersistentCookieStore myCookieStore = ReferenceHolder.getCookieStore();
    List<Cookie> cookies = myCookieStore.getCookies();

    final CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(getActivity());
    CookieSyncManager.getInstance().startSync();

    final CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    if (! cookies.isEmpty()){

        //sync all the cookies in the httpclient with the webview by generating cookie string
        for (Cookie cookie : cookies){
            Cookie sessionInfo = cookie;

            String cookieString = sessionInfo.getName() + "=" + sessionInfo.getValue() + "; domain=" + sessionInfo.getDomain();

            cookieManager.setCookie(ReferenceHolder.BASE_URL, cookieString);



            cookieSyncManager.sync();

        }
        cookieSyncManager.sync();

        System.out.println("COOKIEMAN" + cookieManager.getCookie(ReferenceHolder.BASE_URL));


    }

}

最佳答案

cookie 不能包含分号,因为分号在cookie 字符串中是分隔符。如果你想要这个,请先编码。

关于java - cookiemanager 中的 setcookie 不适用于 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30316114/

相关文章:

java - JPA 对 Java 8 新日期和时间 API 的支持

java - 从 URL 获取内容/字符串

java - JTable 细胞监听器?

Java分配: allocating objects from a pre-existing/allocated pool

Java Collection 在小括号中打印值并用空格分隔?

android - 使用 COLLATE LOCALIZED 的索引是否会在语言环境更改时自动重建?

android - 在 webView 上无法登录

android - 如何使 firebase 动态链接区分同一应用程序的免费版和付费版?

php - 如何在 php 中发送 json 请求?

C# HttpWebRequest命令获取目录列表