【WebView】同步Cookies

  1. 先同步再loadUrl
     syncCookies() 
     mWebView.loadUrl(url);
  1. 同步方法
    /**
     * 同步Cookies
     */
    private void syncCookies() {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            CookieSyncManager.createInstance(this);
        }

        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptCookie(true);
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            cookieManager.removeSessionCookie();
        } else {
            cookieManager.removeSessionCookies(null);
        }

        String baseUrl = Constant.getBaseUrl();
        String host = Uri.parse(baseUrl).getHost();
        Set<String> cookies = CookiesUtils.getInstance().getCookie(baseUrl, host);
        for (String cookie : cookies) {
            cookieManager.setCookie(host, cookie);
        }

        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            CookieSyncManager.getInstance().sync();
        } else {
            cookieManager.flush();
        }
    }
  1. cookies获取方式
 response.headers("Set-Cookie");

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。