我想从WKWebView获取所有cookie.为什么?我已经启动了一个使用基于Web的身份验证的项目.因此,我应该拦截cookie以确保用户已登录并用于其他目的.另一种情况 – 想象一下,如果用户登录,而不是“杀死”应用程序 – 由于存储此cookie会话的一些延迟将丢失:(.

The problem seems to be that the cookies are cached and not saved out

to a file immediately.

(@Kemenaran从here – 下面第5页)

我试图抓住他们的地方 –

webView的:decidePolicyForNavigationResponse:decisionHandler :,

func webView(webView: WKWebView, decidePolicyForNavigationResponse navigationResponse: WKNavigationResponse, decisionHandler: (WKNavigationResponsePolicy) -> Void) {

if let httpResponse = navigationResponse.response as? NSHTTPURLResponse {

if let headers = httpResponse.allHeaderFields as? [String: String], url = httpResponse.URL {

let cookies = NSHTTPCookie.cookiesWithResponseHeaderFields(headers, forURL: url {

for cookie in cookies {

NSHTTPCookieStorage.shared.set(cookie)

}

}

}

}

但并非所有请求都是导航,因此跳过一个cookie(在我的情况下),请参阅下面的详细信息

关于我试过的其他选项的几句话……

>是的,我知道从iOS 11开始,我们可以使用WKHTTPCookieStore作为here.但是我的项目应该支持iOS 9

>我100%肯定,在登录后5-10秒,所需的cookie将保存到NSHttpCookieStorage(至少我几天的所有测试都确认了)

>我尝试使用提供的观察者NSHTTPCookieManagerCookiesChangedNotification,但它只为webView中的cookie提供回调:decisionPolicyForNavigationResponse:decisionHandler

>我也尝试使用像here中提到的一些JS来获取cookie,并且还测试了here的所有建议 – 顺便说一句,这篇文章非常精彩.结果 – 消极

>我也发现了这个radar bug,以及SO question和Sample project,但我想防止这种情况. (在这篇文章中描述的不仅适用于删除而且适用于保存)此情况也是如此,当用户终止应用程序时,用户登录,杀死应用程序和重新启动的情况可能会出现.并且防止这种情况(简单地通过检查NSHttpCookieStorage来获取所需的cookie也不是一个好主意,因为完全在登录后需要cookie可以存储一些延迟,所以这种方法需要一些bool驱动的解决方案,看起来很奇怪..

>我还阅读了一些相关问题的SO帖子,最有用的是

但仍然没有好的解决方案……

那么,是否存在获取或至少强制立即存储cookie的方法?

html5 ios cookie,ios – WKWebView,获取所有cookie相关推荐

  1. springboot-前端js设置cookie的name、value值,后端利用name获取指定cookie的value值

    springboot-前端js设置cookie的name.value值,后端利用name获取指定cookie的value值         前端 js 将传递过来的 id 存入cookie中, coo ...

  2. html5 ios cookie,iOS设置cookie到web遇到的坑

    获取本地的cookie,[SystemConfigure shareSystemConfigure].get_kHttpURL]留意用自己本地的域名,获取本地的登录的cookie信息 - (NSStr ...

  3. ip访问 webstorem_常见问题-iOS WebView IP直连 如何处理 Cookie

    WKWebView 无法使用 NSURLProtocol 拦截请求 针对该问题方案如下: 换用 UIWebView 使用私有 API 进行注册拦截 换用 UIWebView 方案不做赘述,说明下使用私 ...

  4. ios html cookies,iOS-WKWebView携带cookie发送http请求,cookie失效

    发送请求代码: NSString *testUrl = @"http://10.22.122.7:8081/test2_action/view_index"; NSURL *url ...

  5. java爬取验证码图片_JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取)...

    JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取) 发布时间:2018-05-18 16:41, 浏览次数:632 , 标签: JAVA HttpClien ...

  6. #iOS问题记录#WKWebView 闪退异常

    #iOS问题记录#WKWebView 闪退异常 参考文章: (1)#iOS问题记录#WKWebView 闪退异常 (2)https://www.cnblogs.com/Sanje3000/p/6953 ...

  7. web网页获取,cookie 的管理,post和get方式的模拟。

    2019独角兽企业重金招聘Python工程师标准>>> web登陆无非就是网页获取,cookie 的管理,post和get方式的模拟. 1.网页内容获取 java.io.inputs ...

  8. 封装的cookie存储、获取、删除方法

    2019独角兽企业重金招聘Python工程师标准>>> 封装的cookie存储.获取.删除方法 1.设置cookie function setCookie(key, value, t ...

  9. 因为 Java 和 Php 在获取客户端 cookie 方式不同引发的 bug

    遇到个 Java 和 Php 在获取客户端 cookie 方式不同导致跨系统的问题.所以写了这篇博客梳理下相关知识. 实验 下面通过两个简单的实验,来看Java和Php在获取web请求中的cookie ...

最新文章

  1. QT:(3)在VS2015下配置qt
  2. 流放之路材质过滤怎么设置_三种不同材质的精密过滤设备特点
  3. Dubbo入门(2) - 简单实践
  4. Cracer渗透视频课程笔记——基础知识(2)
  5. springboot参数校验,对象的某属性校验
  6. 早期访问中具有NetBeans的Oracle公共云Java服务
  7. 比postman好用10倍的接口调试工具ApiPost
  8. SVN安装后创建仓库、用户、上传代码
  9. ABP .Net Core 部署到IIS 问题汇总
  10. 11210怎么等于24_巧算24点
  11. 为什么要使用微信活码?
  12. java程序笑脸怎么打_Java程序运行后出现一张笑脸,鼠标点击一次则变成哭脸,再点击一次又变成笑脸,依次轮换。...
  13. SIM卡被猫吃了,1860电话录音
  14. 【Excel】可浮动利率(LPR)和提前还款的房贷计算器
  15. 利用AlphaFold进行蛋白质结构预测
  16. eclipse maven 搭建 SSM(Spring+SpringMVC+MyBatis)开发环境 和 MyBatis 自动生成的 maven 插件配置
  17. 区块链及以太坊入门介绍
  18. 走过冷暖的岁月,感知生命的厚重
  19. “产品设计师”常用软件推荐
  20. 飞桨《开源夜话》第一期——开发者如何与飞桨共同成长

热门文章

  1. 增加无线模块传输距离的方法
  2. 物联网的下一步动作会是什么?
  3. python编程语言优缺点_原创001 第一次接触这个神奇而又无所不能的编程语言:Python...
  4. php m grep event,php-如何杀死与30分钟以上的grep匹配的进程?
  5. python保存变量_将python 中的变量保存到本地
  6. python字符串startswith_Python 字符串 startswith() 使用方法及示例
  7. redhat6.8链路聚合
  8. 网卡驱动程序之编写虚拟网卡(二)
  9. 程序员编程艺术第十一章:最长公共子序列(LCS)问题
  10. lua# lua5.1.4 源码文件作用一览