encryption - 在 iOS 9 中拦截 WKWebView 请求和响应
问题描述
我有以下要求:
- 该应用程序具有加密的本地 HTML 内容
- 此本地内容必须使用 WKWebView 显示
- 拦截从 WKWebView 完成的请求并为每个请求提供自定义响应(动态解密内容)
- 支持iOS 9.3
可以使用 WKURLSchemeHandler 来满足要求,但这仅在 iOS 11 中引入。
到目前为止,我能达到的唯一解决方案是:
- 在应用程序中嵌入一个 Web 服务器,例如在http://localhost:8080监听
- 服务器将读取本地内容,对其进行解密并将其发送回 WKWebView
- 更改网页内容,使所有请求都定向到http://localhost.8080
拥有一个嵌入式 Web 服务器似乎有点矫枉过正,并且会带来很多麻烦。但似乎这是在面对类似要求时所采取的方法。例如 Cordova 和 Ionic Capacitor 项目。
Ionic Capacitor 仅在放弃对 iOS 10 的支持时删除了嵌入式 Web 服务器: https ://github.com/ionic-team/capacitor/releases/tag/1.0.0-beta.11
我对使用私有 API 的解决方案不感兴趣。
解决方案
推荐阅读
- java - Wildfly10 到 Wildfly13 hibernate ogm 部署错误
- assembly - SETA 和 EQU 在手臂装配中有什么区别?
- reactjs - 从 redux 商店加载 pdf
- elasticsearch - ELK 堆栈用户定义的模式识别
- javascript - 我们可以使用 JS 或 jQuery 启用或禁用 chrome 中的硬重载菜单吗?
- asp.net - ASP.NET MVC 将 KeyValuePair 清空到控制器中
- karate - 无法将变量值解析为数组变量
- laravel - 如何在laravel中使用自连接获取一张表中的记录
- pdf-generation - 计算编号 pdf 生成之前的页面数
- c# - 带有 Selenium 的 C#:当前上下文中不存在“SelectElement”