android - 从 WebView 访问 session 变量

标签 android android-webview

是否可以从 Android 中的 webview 控件访问 session 变量(及其值)?

我搜索了文档但一无所获。

最佳答案

你可以像这样同步 webview session cookies

public static void sync(String url) {
         List<Cookie> cookies=null;
        CookieManager cookieManager = CookieManager.getInstance();
        if (cookieManager == null)
            return;

        RFC2109Spec cookieSpec = new RFC2109Spec();
        String rawCookieHeader = null;
        try {
            URL parsedURL = new URL(url);
            rawCookieHeader = cookieManager.getCookie(parsedURL.getHost());
            if (rawCookieHeader == null)
                return;
            int port = parsedURL.getPort() == -1 ? parsedURL.getDefaultPort()
                    : parsedURL.getPort();

            CookieOrigin cookieOrigin = new CookieOrigin(parsedURL.getHost(),
                    port, "/", false);
            cookies = cookieSpec.parse(new BasicHeader("set-cookie",
                    rawCookieHeader), cookieOrigin);

            System.out.println("Session Cookis : " + cookies);

        } catch (Exception e) {

        }
    }

如何调用?来自 WebView

webView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                sync(url);
                return super.shouldOverrideUrlLoading(view, url);
            }
        });

关于android - 从 WebView 访问 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21377399/

相关文章:

javascript - iframe 未在 webview android 中加载

android - 如何将android assets css文件加载到android WebView URL

android - 如何在 Android Webview 中显示 Vimeo 视频?

android - 在 Android 中从 Web View 编辑 Google 文档

Android - 获取所有可用存储的列表

android - 如何在 Activity 中滚动两列按钮

java - 上传具有不同扩展名的多个文件 firebase storage

android - 如何在图层列表中制作阴影?

java - Robotium 与 libGDX 查找 imageButton 索引

android WebView 无法正常工作