问题标签 [android-cookiemanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 在 Google Exoplayer 中支持 cookie
我在我的 android 应用程序中设置了一个与 cookieManager 中的域相关联的 HttpCookie。然后,当我使用 exo 播放器流式传输 HLS 视频时,我希望此 cookie 用于每个 .ts 块请求。
这是代码,我用来将 cookie 存储在项目的 Application 部分:
这是发送的块请求的示例:
但是,当我检查数据包时,我没有看到发送的 cookie。有人可以帮助我吗?
谢谢。
android - 没有使用 Crosswalk 为 cordova android 应用程序编码 cookie 值的问题
设置
目前,我有一个cordova android 应用程序,它使用crosswalk 作为webview 而不是默认的chromium 浏览器。应用程序本身在登录期间访问 AuthProvider,并且从 AuthProvider 传回的 cookie 存储在 Android 的 CookieManager 中。
我已经验证我能够通过域检索特定于该 authprovider 的 Cookie。
问题
对于简单的情况,当 cookie 的值不包含“=”符号时,一切正常。我可以更新甚至使 cookie 无效。但是,我注意到当身份验证提供程序返回一个 cookie 时,其中的值带有“=”(例如 Cookie 字符串 =“AuthCookie=a=b=c=d”,其中 AuthCookie 是 cookie 名称,值为“ a=b=c=d”。出现这种情况时,“a=b=c=d”在未编码时是一个无效的cookie值,结果CookieManager的方法(setCookie)不起作用。没有办法更新甚至使该 cookie 无效。
有趣的是,cookieManger 甚至不允许您设置值为“a=b=c=d”的 cookie。问题是我相信 cookie 值是由浏览器设置的,它从 authprovider 的响应中解释 cookie 并更新数据存储。但是,我认为它从未对 cookie 值进行编码。
目标
真正的目标是我需要能够使通过 AuthProvider 浏览器存储的特定 cookie 无效。
为 cookieManager 提供的函数
setCookie(<域>, <cookiestring>);
函数本身采用包含 cookie 名称和值的 cookie 字符串的问题。我只希望对 cookie 值进行编码。唯一的问题是我不是 AuthProvider 如何在 cookie 存储中设置 cookie。
我需要重写 cookieManager 设置方法吗?基于“;”解析所有cookies 然后解析第一个“=”符号的所有cookie,然后对右侧的所有内容进行编码?
我也不知道浏览器调用的 cookieManager:setCookie() 是否存储身份验证提供程序响应?我不相信这种情况,因为 setCookie(domain,"auth=a=b=c=d") 不起作用。至少使用 XWalkCookieManager
或者是否有另一种方法来更新或使“auth=a=b=c=d”的cookiestring无效。当我尝试 "setCookie(domain, "auth=super") 时,没有抛出异常。然后我将调用 getCookie(domain),它会返回 null。在 XWalkCookieManager 中抛出 UnsupportedOperationException,结果返回 null。我没有来源,所以我无法更深入地了解为什么抛出 unsupportedOperationException 。
有关如何解决此问题或解决方法的任何建议?谢谢,德里克
android - 在哪里可以找到/浏览应用数据文件夹中的 cookie?
我的应用程序(“ myapp ”)具有以下示例包签名:com.example.mycorp.myapp
我通过adb shell
应用程序文件夹 /data/data/com.example.mycorp.myapp/ 浏览以查找任何 cookie - 徒劳无功。
由于我有显示外部链接 (html) 和 Google 登录的 WebView 对象作为示例,因此应该创建一些 cookie(至少 iOS 同事在 iOS 的同一个应用程序上有 cookie)。
那么我在哪里可以找到关于我自己的应用程序的任何 cookie?
android - Android webview cookie 在一段时间后被清除/垃圾收集 - 我可以设置 cookie 自定义存储路径吗?
我试图让我的 webview 记住它的 cookie。我的问题是,它们会在一段时间后被删除。
经过一番研究,我发现 java 的内部 HttpClient 使用 CookieManager 和 CookieStore 会被垃圾收集。HttpClient 用于我的一些网络代码(并非全部由我编写)。我很确定这是我的问题的原因。
所以我的问题是:有没有办法将 cookie 从 webview 保存到另一个位置,而不是 HttpClient 使用的位置?
我尝试过像这样设置自定义路径:
但没有运气。
android - 如何在应用程序执行之间保留 webview cookie?
目前在Android中可以实现这一点吗?我只能找到有关旧方法(CookieSynchManager)的已弃用问题,这些问题实际上似乎不适用于此。
有可能实现吗?我在 Android 开发人员指南上也找不到任何内容。
android - Android CookieManager 和重定向
我正在使用 android.webkit.CookieManager 中的 setCookie 方法设置两个 cookie - https://developer.android.com/reference/android/webkit/CookieManager.html对两个不同的 URL 具有相同的值。
但是,我知道当我在 webview 上加载第一个 URL 时,它会向我发送一个 HTTP 重定向到我也设置了 cookie 的第二个 URL。
我的问题是:cookie 管理器会发送第二个 URL 的 cookie 吗?
android - 设置 cookie
我将如何添加 cookie 过期的时间,因为现在它更像是一个会话 cookie。每次应用程序被销毁/关闭时它都会过期
android - 我需要在 CookieManager 中的 setCookie 之后刷新吗?
我有一个代码将 cookie 从 okHttp 写入 CookieManager,如下所示。
我调用flush
API 如下所示。
但是,即使我删除它,它setCookie
本身似乎也已经存在。我还需要flush
吗?
android - 无法从 CookieManager 获取库中设置的 cookie
我创建了一个处理身份验证的库,我将其作为依赖项添加到我的应用程序中。该库使用 OkHttp 来处理身份验证,因此我使用 aCookieJar
将 OkHttpClient 实例中的 cookie 与 Android 同步CookieManager
。
这应该允许我在标准中使用 OkHttp 设置的 cookie WebView
。因此,如果加载我们的登录页面,我构建了一个WebViewClient
刷新身份验证WebView
(因此用户不必重新提交他们的凭据,除非刷新失败)。
这在我与库一起构建的示例应用程序中完美运行。
但是,当我将库作为依赖项添加到另一个项目时,OkHttpClient
获取 cookie 和成功获取令牌的日志,但WebView
永远不会获取这些 cookie。
我无法弄清楚为什么会这样。有什么线索吗?
android - 在 Android 网页视图上检测 cookie 过期
我正在从 android 端设置 cookie 并具有到期时间。但我想检测 cookie 何时过期是否有来自 android web 视图的事件触发?