[发明专利]WKWebview组件网络请求接管方法及系统有效
申请号: | 202110245486.5 | 申请日: | 2021-03-05 |
公开(公告)号: | CN112929447B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 吴彪 | 申请(专利权)人: | 深圳市联软科技股份有限公司 |
主分类号: | H04L67/60 | 分类号: | H04L67/60;H04L67/568;H04L67/562;H04L67/02 |
代理公司: | 北京酷爱智慧知识产权代理有限公司 11514 | 代理人: | 张绍磊 |
地址: | 518000 广东省深圳市南山区高新中区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | wkwebview 组件 网络 请求 接管 方法 系统 | ||
本发明提供了WKWebview组件网络请求接管方法及系统,方法包括在客户端的WKWebview组件向业务服务器发送网络请求之前,将网络请求中的body数据发送至客户端的浏览器JS桥接处理模块缓存;当发送网络请求时,NSURLProtocol应用程序拦截网络请求的header数据;浏览器JS桥接处理模块将缓存的body数据和拦截的header数据进行组装,得到完整的网络请求,将完整的网络请求转发给本地代理装置;本地代理装置通过网关服务器将完整的网络请求转发给业务服务器。该方法无需考虑body数据大于10MB的情况,无需H5端开发人员配合,节约了人力成本。
技术领域
本发明属于技术领域,具体涉及WKWebview组件网络请求接管方法及系统。
背景技术
Apple公司在发布iOS 8系统版本之前,iOS应用开发可以使用的浏览器组件只有UIWebView。为了公网通信安全,UIWebView发出的所有网络请求可以通过注册NSURLProtocol应用程序进行拦截,然后对请求数据加密封装和代理转发,应用场景参见图1。
iOS系统自iOS 8版本发布后,更新了新的系统浏览器组件WKWebview,以取代UIWebView组件,WKWebview相对UIWebView拥有更多的优点,但是在实现WKWebview网络请求拦截的环节,存在系统限制,无法获取完整的WKWebview发出的网络请求数据。这是由于WKWebview的运行进程,独立于iOS应用APP进程,在使用NSURLProtocol应用程序拦截时,拦截的网络请求数据中body部分会被iOS系统略过,导致NSURLProtocol应用程序拦截只能获取网络请求的header中数据,而无法获取body数据,这给代理转发请求造成问题。
而目前要实现完整代理转发WKWebview浏览器发出的网络请求数据,通常是将body数据封装到header中,使用NSURLProtocol应用程序拦截到header数据后,将header中的body数据解析出来,重新组装成http标准的数据格式,流程图参见图2。这种方式有以下缺点:
1)iOS系统对请求的header数据大小有限制,当请求不能超过10MB。
2)需要H5Web端开发人员配合修改每一处请求,开发的人力和时间成本高昂。
发明内容
针对现有技术中的缺陷,本发明提供一种WKWebview组件网络请求接管方法及系统,无需考虑body数据大于10MB的情况,无需H5端开发人员配合,节约了人力成本。
第一方面,一种WKWebview组件网络请求接管方法,包括以下步骤:
在客户端的WKWebview组件向业务服务器发送网络请求之前,将网络请求中的body数据发送至客户端的浏览器JS桥接处理模块缓存;
当客户端的WKWebview组件向业务服务器发送网络请求时,NSURLProtocol应用程序拦截网络请求的header数据;
浏览器JS桥接处理模块将缓存的body数据和拦截的header数据进行组装,得到完整的网络请求,将完整的网络请求转发给本地代理装置;
本地代理装置通过网关服务器将完整的网络请求转发给业务服务器。
优选地,所述浏览器JS桥接处理模块通过以下方式得到:
利用JSBridge技术重写H5标准的网络请求发起流程,以得到重写代码;
将重写代码封装成所述浏览器JS桥接处理模块。
优选地,该方法在所述将重写代码封装成所述浏览器JS桥接处理模块之后,还包括:
将浏览器JS桥接处理模块注入所述WKWebview组件中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市联软科技股份有限公司,未经深圳市联软科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110245486.5/2.html,转载请声明来源钻瓜专利网。