簡體   English   中英

無法在 Android 中獲取 cookie

[英]Cannot get cookies in Android

我正在嘗試獲取我從 Android 中的 JavaScript 代碼設置的 cookie。

我已經成功檢查了 Chrome 加載的網頁是否成功創建了一個 cookie,所以我認為它也應該發生在 webview 上。

這是我當前的代碼:

 webView.loadUrl("http://10.0.2.2:8080/geoserver/www/first_leaflet_webviewer.html");

[…]

String value = getCookie("http://10.0.2.2:8080", "latlng");

getCookie 定義為:

public String getCookie(String siteName,String CookieName){
        String CookieValue = null;

        CookieManager cookieManager = CookieManager.getInstance();
        String cookies = cookieManager.getCookie(siteName);
        if(cookies != null){
            String[] temp=cookies.split(";");
            for (String ar1 : temp ){
                if(ar1.contains(CookieName)){
                    String[] temp1=ar1.split("=");
                    CookieValue = temp1[1];
                }
            }
        }
        return CookieValue;
    }

但是 getCookie 總是返回 null ,就好像從未創建過 cookie 一樣。

我嘗試將http://10.0.2.2:8080更改為http://10.0.2.2:8080/geoserver/www/first_leaflet_webviewer.htmlhttp://localhost ,以防萬一,但無濟於事。

我需要更改什么才能讀取 cookie?

您可以嘗試像這樣設置 WebViewClient。 (請注意,代碼段是 kotlin。)

webView.webViewClient = object : WebViewClient() {

                override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
                    super.onPageStarted(view, url, favicon)
                    if (CookieManager.getInstance().getCookie(url) != null && CookieManager.getInstance().getCookie(url).contains("latlng")) {
                        //todo
                    }
                }

                override fun onPageFinished(view: WebView, url: String) {
                    super.onPageFinished(view, url)
                     if (CookieManager.getInstance().getCookie(url) != null && CookieManager.getInstance().getCookie(url).contains("latlng")) {
                        //todo
                    }
                }
 }

webView.loadUrl("http://10.0.2.2:8080/geoserver/www/first_leaflet_webviewer.html")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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