Android - 在webview中登录后提取cookie

2023-11-26

我有一个在 web 视图中打开 url 的应用程序,然后用户必须通过 web 视图登录到站点并在登录后收到 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());
            }
        }

您可以通过这种方式从 webview 中以字符串形式提取所有 cookie 当前 url:

@Override
public void onPageFinished(WebView view, String url){
    String cookies = CookieManager.getInstance().getCookie(url);
    Log.d(TAG, "All the cookies in a string:" + cookies);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - 在webview中登录后提取cookie 的相关文章

随机推荐

  • 检查字符串中是否包含表情符号

    我用这个得到字符串的文本大小 textSize tempDict valueForKeyPath caption text sizeWithFont UIFont systemFontOfSize 12 constrainedToSize
  • 在 C 套接字编程中刷新套接字流

    我想知道如何在用 C 进行套接字编程时刷新套接字流 我尝试了所有选项设置TCP NODELAY使用以下代码 setsockopt sockfd IPPROTO TCP TCP NODELAY char flag sizeof int 注 所
  • 当窗体具有许多下拉列表控件时,C#.net windows 窗体调整大小的速度缓慢

    我制作了一个带有许多下拉列表的 Windows 窗体 这些下拉列表放置在网格 不是数据网格 内 当我在所有这些窗体中使用anchor left right top Bottom 和 dock fill 选项时 窗体调整大小在运行时会变慢 停
  • 使用 Python 从非结构化文本中提取人的年龄

    我有一个行政档案数据集 其中包括简短的传记 我正在尝试使用 python 和一些模式匹配来提取人们的年龄 一些句子的例子是 邦德先生 67 岁 是英国的一名工程师 阿曼达 B 拜恩斯 Amanda B Bynes 34 岁 是一名演员 彼得
  • 如果所有汇总值均为 NA,则 dplyr 汇总保留 NA

    我想使用 dplyr summarize 按组对计数进行求和 具体来说 如果并非所有求和值都是 NA 我想删除 NA 值 但如果所有求和值都是 NA 我想显示 NA 例如 name lt c jack jack mary mary elle
  • PL/SQL FOR 循环隐式游标

    有2张桌子EMPLOYEES and DEPARTMENTS with department id作为主键DEPARTMENTS和外键EMPLOYEES 我想打印属于特定部门的所有员工姓名 我知道它可以通过 JOINS 或 JOINS 轻松
  • 为什么在 Windows 终端中用 Python 进行彩色打印不起作用? [复制]

    这个问题在这里已经有答案了 我可以在 ipython 中以绿色打印 test1 并以红色打印 test2 print 033 92m test1 print 033 91m test2 但在终端中以白色打印出以下错误 92mtest1 91
  • 如何确定我的 python shell 是在 32 位还是 64 位中执行?

    如何从 shell 内部判断 shell 处于什么模式 我试过看platform模块 但它似乎只是告诉您 用于可执行文件的位体系结构和链接格式 我的二进制文件被编译为 64 位 我在 OS X 10 6 上运行 因此即使我使用这些方法 它似
  • 无法加入字符串类型的 pandas 数据框

    我有两个 DataFrames 对象 其列如下 数据框1 df dtypes Output ImageID object Source object LabelName object Confidence int64 dtype objec
  • 从 C# 代码从 SQLite 导入/导出 CSV

    我正在尝试找出一种使用 System Data SQLite 将 CSV 文件加载到 SQLite DB 的简单方法 我看到了命令行方式来做到这一点 即 Import mydata csv mytable 但我需要通过 C 代码来完成此操作
  • F# 中使用守卫与 if/else 结构进行模式匹配

    在 ML 系列语言中 人们倾向于更喜欢模式匹配if else构造 在 F 中 在模式匹配中使用防护可以轻松替换if else在很多情况下 例如 一个简单的delete1可以在不使用的情况下重写函数if else see delete2 le
  • ASP.NET MVC + Fluent nNibernate,什么IoC工具?

    我正在开发一个 ASP NET MVC 项目 我们决定使用 Fluent nHibernate 进行数据访问 为了实现松耦合 我们采用 IoC DI 模式 我的问题是该选择什么 IoC 工具 我试图找出 Windsor ninject sp
  • C# 中数组索引的类型?

    C 中数组索引的类型是什么 例如 在下面的代码中 在访问数组元素 第三行 之前 索引是否会被转换为 int T myArray new T 255 byte index 2 T element myArray index 如果不是 使用 b
  • 是否可以使用其他 cpp 文件中的#define?

    我认为预处理器会一一处理文件 而我不知道如何使用包含来处理文件 所以我认为这是不可能的 但很高兴听到其他人的想法 我有在a cpp define A 1 我想用它2 cpp 编辑 我无法修改第一个文件 所以现在我只是复制了定义 但问题仍然存
  • HTML 转 PDF 与通过 PHP 以编程方式创建 PDF

    我有一个 PHP 应用程序 需要生成一些带有漂亮页眉 页脚的 PDF 发票和 PDF 时间表 一些 Stackoverflow 用户建议使用 TCPDF 创建 PDF 文档 在我的研究中 我发现了两种生成 PDF 的方法 1 以编程方式格式
  • 如何在 IE 中的文档上触发“onload”事件

    我目前正在为 Javascript 方法开发单元测试 用于检测文档的准备情况 该代码已经处于框架级别 因此请避免提及已在 jQuery 或其他库中实现的代码 我已使用以下代码成功模拟了 readystatechange 更改事件 var e
  • 从 scala 使用 Function java 接口的流畅方式?

    在工作中 大多数人都使用 Java 而我则使用 Scala 我们决定将一些常见的类收集到一个用 Java 编写的库中 现在我想向库中添加一些伪函数式编程 看看以下内容 java public interface Func
  • 在 JSF 中显示上传的图像

    我有一个视图范围的 bean 我在其中创建了一个人 一个人可以有一张照片 这张照片上传到创建此人的同一页面 图片未存储在数据库或磁盘上 因为尚未创建该人 该 bean 必须具有视图作用域 因为可以在其他地方创建人员并且使用相同的 bean
  • Python 类丢失属性

    我有一个特殊的 python 问题 在我的 gtk python 应用程序执行过程中 我的一些类对象神秘地丢失了属性 导致我的程序的一些功能被破坏 很难解释为什么会发生这种情况 我从来没有故意删除属性 并且有问题的类继承自我自己编写的类 而
  • Android - 在webview中登录后提取cookie

    我有一个在 web 视图中打开 url 的应用程序 然后用户必须通过 web 视图登录到站点并在登录后收到 cookie 我在登录后获取 cookie 时遇到问题 问题是 我可以使用 android webkit CookieManager