[发明专利]一种流量劫持方法及装置有效
申请号: | 201910810437.4 | 申请日: | 2019-08-29 |
公开(公告)号: | CN110417919B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 郑秀群 | 申请(专利权)人: | 网宿科技股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 邹雅莹 |
地址: | 200030 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 流量 劫持 方法 装置 | ||
本发明实施例公开了一种流量劫持方法及装置,其中方法包括:根据用户在预设应用程序中的触发操作,生成基于超文本传输协议的第一wkwebview页面访问请求,并通过预设应用程序中设置的第一实例对象获取第一wkwebview页面访问请求对应的响应数据。本发明实施例中,第一实例对象可以拦截处于不同进程内的wkwebview页面访问请求,因此,通过在预设应用程序中设置第一实例对象,使得第一实例对象可以拦截到预设应用程序中触发的任一wkwebview页面访问请求(包括http或https的wkwebview网页访问请求),提高流量拦截的准确性。
技术领域
本发明涉及通信技术领域,尤其涉及一种流量劫持方法及装置。
背景技术
随着信息技术的快速发展,互联网的应用范围越来越广,终端设备在检测到用户在终端设备的应用程序APP上触发网页访问请求时,可以去对应的服务器获取网页访问请求对应的响应数据。然而,为了更好地实现网络加速,APP可以在网页访问请求出终端设备之前,对网页访问请求进行劫持,并可以通过CDN服务器从近端服务器获取网页访问请求对应的响应数据,如此,既可以降低远端服务器的压力,又能提高响应速度。
现阶段,苹果操作系统(iPhone Operating System,iOS)通常基于wkwebview框架来加载网页访问请求,相应地,用户在iOS的APP上触发的网页访问请求也由传统的UIwebview网页访问请求转换为wkwebview网页访问请求。传统的UIwebview网页访问请求通常使用NSURLProtocol协议支持的实例对象来拦截UIwebview网页访问请求,NSURLProtocol协议支持的实例对象可以拦截并处理所在进程内的所有网页访问请求;然而,由于wkwebview框架中基于超文本传输协议(Hypertext transfer protocol,http)或https的wkwebview网页访问请求通常在单独的进程中发送,导致NSURLProtocol协议支持的实例对象拦截基于http或https的wkwebview网页访问请求时会出现问题。具体地说,网页访问请求中包括统一资源定位符(Uniform Resource Location,URL)地址和请求内容(即body),NSURLProtocol协议支持的实例对象在拦截其它进程的网页访问请求时,可以拦截到正常的URL地址,但会丢失部分或全部body;因此,若使用NSURLProtocol协议支持的实例对象拦截基于http或https的wkwebview网页访问请求,则可能会丢失wkwebview网页访问请求中的部分或全部body。
为了解决上述问题,在一种现有的解决方案中,iOS中的APP在根据用户的触发操作生成wkwebview网页访问请求后,可以解析wkwebview网页访问请求得到原始URL地址和body,进而将原始URL地址和body拼接在一起作为新的URL地址发送出去;如此,NSURLProtocol协议支持的实例对象拦截到新的URL地址后,可以解析得到原始URL地址和body,从而根据原始URL地址和body获取响应数据。然而,wkwebview网页访问请求限定URL地址的数据量需要小于1M,且限定URL地址需为字符类型(即string类型),因此,该种实现方式无法支持body的数据量超过1M或body的类型为非字符类型的情况,导致无法对基于http或https的wkwebview网页访问请求的流量进行准确地拦截。
综上,目前亟需一种流量劫持方法,用以实现对基于http或https的wkwebview网页访问请求的流量进行准确地拦截。
发明内容
本发明实施例提供一种流量劫持方法,用以实现对基于http或https的wkwebview网页访问请求的流量进行准确地拦截。
第一方面,本发明实施例提供了一种流量劫持方法,所述方法应用于流量劫持装置,所述流量劫持装置设置在终端设备的预设应用程序中;所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网宿科技股份有限公司,未经网宿科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910810437.4/2.html,转载请声明来源钻瓜专利网。