Android cookie manager - 如何获取所有cookie

dar*_*eck 14 cookies android android-cookiemanager

我需要获取存储在webview中的所有cookie.目前默认的webview.

https://developer.android.com/reference/android/webkit/CookieManager.html

目前它只支持:

  • getCookie(String url)

我需要能够在不知道确切域名的情况下获取所有cookie.

任何建议表示感谢,D

Spa*_*son 0

您可以创建自己的cookie存储并拦截WebView加载的cookie。用作java.net.CookieManager存储的示例:

val cookieManager = java.net.CookieManager()

webView.webViewClient = object : WebViewClient() {
    override fun onPageFinished(view: WebView?, url: String?) {
        CookieManager.getInstance()
                .getCookie(url)
                ?.let {
                    val uri = URI(url)
                    HttpCookie.parse(it).forEach {
                        cookieManager.cookieStore.add(uri, it)
                    }
                }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 是否可以通过此拦截第三方 cookie?此外,如果无法使用 API `CookieStore.getCookies()` 的目的是什么?我真的不明白这个Android设计选择...... (2认同)