相关疑难解决方法(0)

Android - 在webview中登录后提取cookie

我有一个在webview中打开URL的应用程序,然后用户必须通过webview登录到站点并在登录后收到cookie.我在登录后遇到cookie时遇到问题.

问题是,我可以使用android.webkit.CookieManager实现这一点,并在一个字符串中输出所有cookie.

但是,我想使用cookie存储(如在java.net.CookieStore中)实现它,所以我需要使用java.net.CookieManager.

我在WebViewClient的onPageFinished()中使用以下代码.我知道问题在于打开一个新连接,我需要从当前页面获取内容.我很感激一些帮助,谢谢

        @Override
        public void onPageFinished(WebView view, String url){

            Log.d(TAG, "Finished loading: " + url);

            CookieSyncManager syncManager = CookieSyncManager.createInstance(Main.this);
            syncManager.sync();

            CookieManager manager = new CookieManager();
            manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
            CookieHandler.setDefault(manager);

            try {
                URL blah = new URL(url);
                HttpURLConnection con = (HttpURLConnection) blah.openConnection();
                readStream(con.getInputStream()); // outputting html
            } 
            catch (Exception e) {
            }

            CookieStore cookieJar = manager.getCookieStore();
            List<HttpCookie> cookies = cookieJar.getCookies();

            for (HttpCookie cookie: cookies) {
                Log.d(TAG, "cookie name : "+cookie.getName().toString());
            }
        }
Run Code Online (Sandbox Code Playgroud)

cookies android cookiestore android-webview

54
推荐指数
3
解决办法
6万
查看次数

Android HttpClient Cookie

Android HttpClient是否具有cookie的自动管理功能?

cookies android login httpclient

10
推荐指数
1
解决办法
2万
查看次数