一种资源访问方法及用户终端技术

技术编号:13880148 阅读:91 留言:0更新日期:2016-10-23 02:53
本发明专利技术实施例公开了一种资源访问方法及用户终端,涉及通信技术领域,用以使用WebView控件实现应用级的VPN功能。具体方案为:客户端应用的WebView控件中的浏览器内核获取资源访问请求,资源访问请求中包括待访问资源的URL;浏览器内核将资源访问请求进行HTTP代理封装,得到HTTP代理请求,并向HTTP代理程序发送HTTP代理请求;HTTP代理程序获取HTTP代理请求中的资源访问请求,并对资源访问请求封装VPN隧道头得到VPN请求报文;用户终端向VPN服务器发送VPN请求报文。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种资源访问方法及用户终端
技术介绍
移动办公是指企业员工可以使用移动终端,远程接入企业内网(英文:intranet)进行办公。通过移动终端的客户端应用访问企业内网的资源比使用移动终端的浏览器访问企业内网的资源的用户体验更好。通常,移动终端的操作系统会提供一种封装有浏览器内核的控件,即WebView控件(英文:control)。开发人员利用WebView控件可以很方便的开发客户端应用,而不需要重新编写用于实现浏览网页功能的代码。对于企业来说,保证企业内网的资源的安全性是至关重要的。如果用虚拟专用网络(英文:virtual private network,缩写:VPN)功能提高企业内网的资源的安全性则需要使用专门的移动终端,难以提供自携设备(英文:bring your own device,BYOD)能力。而如果在客户端应用中实现VPN功能,由于WebView控件内部函数不可见,WebView控件上难以增加VPN功能,开发人员需要重新编写客户端应用的用于实现浏览网页功能的代码以实现VPN功能。
技术实现思路
本专利技术的实施例提供一种资源访问方法及用户终端,用以使用WebView控件实现应用级(英文:per-app)的VPN功能。为达到上述目的,本专利技术的实施例采用如下技术方案:本专利技术实施例的第一方面,提供一种资源访问方法,用户终端安装有客户端应用,所述客户端应用包括WebView控件和超文本传送协议(英
文:Hypertext Transfer Protocol,缩写:HTTP)代理程序,所述方法包括:所述客户端应用的WebView控件中的浏览器内核获取资源访问请求,所述资源访问请求中包括待访问资源的统一资源定位符(英文:uniformresource locator,缩写:URL);所述浏览器内核将所述资源访问请求进行HTTP代理封装,得到HTTP代理请求,并向所述HTTP代理程序发送所述HTTP代理请求;所述HTTP代理程序获取所述HTTP代理请求中的所述资源访问请求,并对所述资源访问请求封装虚拟专用网络(英文:virtual privatenetwork,缩写:VPN)隧道头得到VPN请求报文;所述用户终端向VPN服务器发送所述VPN请求报文。结合第一方面,在第一方面的第一种可能的实现方式中,在所述用户终端向VPN服务器发送所述VPN请求报文之后,所述方法还包括:所述用户终端接收所述VPN服务器发送的VPN响应报文;所述HTTP代理程序获取所述VPN响应报文,解封装所述VPN响应报文以得到HTTP代理响应,并向所述WebView控件发送所述HTTP代理响应;所述WebView控件中的所述浏览器内核解析所述HTTP代理响应,得到所述待访问资源。结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在所述客户端应用的WebView控件中的浏览器内核获取资源访问请求之前,所述方法还包括:所述用户终端向所述浏览器内核注册HTTP代理信息,所述HTTP代理信息包括所述HTTP代理程序的网际协议(英文:Internet Protocol,缩写:IP)地址和所述HTTP代理程序的传输控制协议(英文:TransmissionControl Protocol,缩写:TCP)端口号;其中,所述HTTP代理程序的IP地址为本地主机(英文:localhost)。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述用户终端向所述浏览器内核注册HTTP代理信息,包括:获取所述客户端应用的Application类的静态字段mLoadedApk;获取所述客户端应用的Application对象,调用所述静态字段mLoadedApk的get方法,传入所述客户端应用的Application对象,以得到所述客户端应用的LoadedApk对象;获取LoadedApk类的Class实例的静态字段mReceivers;调用所述静态字段mReceivers的get方法,传入所述客户端应用的LoadedApk对象,以得到所述客户端应用的事件接收器;获取所述客户端应用的事件接收器中的代理变更事件接收器;构造代理属性对象,所述代理属性对象中包含所述HTTP代理信息;使用所述代理属性对象构造Intent对象;调用所述代理变更事件接收器的onRecevie方法,传入所述Intent对象。本专利技术实施例的第二方面,提供一种用户终端,所述用户终端安装有客户端应用,所述客户端应用包括WebView控件和HTTP代理程序,所述用户终端包括:处理单元,用于通过所述客户端应用的WebView控件中的浏览器内核获取资源访问请求,所述资源访问请求中包括待访问资源的URL;通过所述浏览器内核将所述资源访问请求进行HTTP代理封装,得到HTTP代理请求,并向所述HTTP代理程序发送所述HTTP代理请求;通过所述HTTP代理程序获取所述HTTP代理请求中的所述资源访问请求,并对所述资源访问请求封装VPN隧道头得到VPN请求报文;发送单元,用于向VPN服务器发送所述VPN请求报文。结合第二方面,在第二方面的第一种可能的实现方式中,所述用户终端还包括:接收单元,用于在所述发送单元向VPN服务器发送所述VPN请求报
文之后,接收所述VPN服务器发送的VPN响应报文;所述处理单元,还用于通过所述HTTP代理程序获取所述VPN响应报文,解封装所述VPN响应报文以得到HTTP代理响应,并向所述WebView控件发送所述HTTP代理响应;通过所述WebView控件中的所述浏览器内核解析所述HTTP代理响应,得到所述待访问资源。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理单元,还用于在通过所述客户端应用的WebView控件中的浏览器内核获取资源访问请求之前,向所述浏览器内核注册HTTP代理信息,所述HTTP代理信息包括所述HTTP代理程序的IP地址和所述HTTP代理程序的TCP端口号;其中,所述HTTP代理程序的IP地址为本地主机。结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述处理单元具体用于:获取所述客户端应用的Application类的静态字段mLoadedApk;获取所述客户端应用的Application对象,调用所述静态字段mLoadedApk的get方法,传入所述客户端应用的Application对象,以得到所述客户端应用的LoadedApk对象;获取LoadedApk类的Class实例的静态字段mReceivers;调用所述静态字段mReceivers的get方法,传入所述客户端应用的LoadedApk对象,以得到所述客户端应用的事件接收器;获取所述客户端应用的事件接收器中的代理变更事件接收器;构造代理属性对象,所述代理属性对象中包含所述HTTP代理信息;使用所述代理属性对象构造Intent对象;调用所述代理变更事件接收器的onRecevie方法,传入所述Intent对象。本专利技术实施例的第三方面,提供一种用于实现资源访问的计算机程序产品,所述计算机程序产品包括客户端应用,所述客户端应用包括...

【技术保护点】
一种资源访问方法,其特征在于,用户终端安装有客户端应用,所述客户端应用包括WebView控件和超文本传送协议HTTP代理程序,所述方法包括:所述客户端应用的WebView控件中的浏览器内核获取资源访问请求,所述资源访问请求中包括待访问资源的统一资源定位符URL;所述浏览器内核将所述资源访问请求进行HTTP代理封装,得到HTTP代理请求,并向所述HTTP代理程序发送所述HTTP代理请求;所述HTTP代理程序获取所述HTTP代理请求中的所述资源访问请求,并对所述资源访问请求封装虚拟专用网络VPN隧道头得到VPN请求报文;所述用户终端向VPN服务器发送所述VPN请求报文。

【技术特征摘要】
1.一种资源访问方法,其特征在于,用户终端安装有客户端应用,所述客户端应用包括WebView控件和超文本传送协议HTTP代理程序,所述方法包括:所述客户端应用的WebView控件中的浏览器内核获取资源访问请求,所述资源访问请求中包括待访问资源的统一资源定位符URL;所述浏览器内核将所述资源访问请求进行HTTP代理封装,得到HTTP代理请求,并向所述HTTP代理程序发送所述HTTP代理请求;所述HTTP代理程序获取所述HTTP代理请求中的所述资源访问请求,并对所述资源访问请求封装虚拟专用网络VPN隧道头得到VPN请求报文;所述用户终端向VPN服务器发送所述VPN请求报文。2.根据权利要求1所述的方法,其特征在于,在所述用户终端向VPN服务器发送所述VPN请求报文之后,所述方法还包括:所述用户终端接收所述VPN服务器发送的VPN响应报文;所述HTTP代理程序获取所述VPN响应报文,解封装所述VPN响应报文以得到HTTP代理响应,并向所述WebView控件发送所述HTTP代理响应;所述WebView控件中的所述浏览器内核解析所述HTTP代理响应,得到所述待访问资源。3.根据权利要求1或2所述的方法,其特征在于,在所述客户端应用的WebView控件中的浏览器内核获取资源访问请求之前,所述方法还包括:所述用户终端向所述浏览器内核注册HTTP代理信息,所述HTTP代理信息包括所述HTTP代理程序的网际协议IP地址和所述HTTP代理程序的传输控制协议TCP端口号;其中,所述HTTP代理程序的IP地址为本地主机localhost。4.根据权利要求3所述的方法,其特征在于,所述用户终端向所述浏览器内核注册HTTP代理信息,包括:获取所述客户端应用的Application类的静态字段mLoadedApk;获取所述客户端应用的Application对象,调用所述静态字段mLoadedApk的get方法,传入所述客户端应用的Application对象,以得到所述客户端应用的LoadedApk对象;获取LoadedApk类的Class实例的静态字段mReceivers;调用所述静态字段mReceivers的get方法,传入所述客户端应用的LoadedApk对象,以得到所述客户端应用的事件接收器;获取所述客户端应用的事件接收器中的代理变更事件接收器;构造代理属性对象,所述代理属性对象中包含所述HTTP代理信息;使用所述代理属性对象构造Intent对象;调用所述代理变更事件接收器的onRecevie方法,传入所述Intent对象。5.一种用户终端,其...

【专利技术属性】
技术研发人员:杨黎刚聂成蛟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1