本技术公开了一种基于本地代理服务实现跨浏览器调用电脑外接设备的方法,步骤一、在电脑上安装一个本地代理服务,该程序在安装的时候自动注册SSL通讯根证书到操作系统和浏览器的证书库中,并设置该代理程序为开机自动启动模式;步骤二、本地代理服务安装完成以后,自动启动运行;步骤三、本地代理服务在完成环境检测和修复以后,使用第一步注册的SSL根证书签发的SSL通讯证书在本地开启HTTPS服务,监听相应的本地端口,等待处理网页发送的相关业务请求;步骤四、设计多端口轮询的方式保障本地代理服务正常可用;步骤五、上层网页在加载的时候,完成本地代理服务的版本智能更新功能。
权利要求书
1.一种基于本地代理服务实现跨浏览器调用电脑外接设备的方法,具体步骤为:
步骤一、在电脑上安装一个本地代理服务,该程序在安装的时候自动注册SSL通讯根证书到操作系统和浏览器的证书库中,并设置该代理程序为开机自动启动模式;
步骤二、本地代理服务安装完成以后,自动启动运行;
步骤三、本地代理服务在完成环境检测和修复以后,使用第一步注册的SSL根证书签
发的SSL通讯证书在本地开启HTTPS服务,监听相应的本地端口,等待处理网页发送的相关业务请求;
步骤四、设计多端口轮询的方式保障本地代理服务正常可用;
步骤五、上层网页在加载的时候,首先发送查询版本号的HTTPS请求到本地代理服务:如果该HTTPS请求无响应,则说明该电脑上没有安装本地代理服务或本地代理服务异常,则网页自动跳转到本地代理服务下载网页,提示用户下载安装本地代理服务,从而完成本地代理服务的自动分发功能;如果查询版本号HTTPS请求返回的版本号小于预期的版本号,则说明该电脑上安装的是旧版本的本地服务,则网页自动跳转到本地代理服务更新包的下载网页,提示用户下载更新本地服务,从而完成本地代理服务的版本智能更新功能。
2.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征在于,所述步骤二中:
首先代理程序完成对本机环境的检测、修复动作,包括且不限于对关注的ActiveX控件、COM组件、DLL动态库等是否能够正常调用的检测和修复,以及对SSL通讯根证书的检测和修复。
3.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征在于,所述步骤四中:
事先约定几个不常用的端口号,本地代理服务在启动HTTPS服务时,轮询事先约定的几个端口号,发现ie浏览器下载安装
哪一个端口没有被占用,则监听那个端口;同样的,网页在加载的时候就先给本地代理服务发送查询请求,轮询事先约定的几个端口号,发现哪一个端口的请求有数据正常返回,则知道本地代理服务正在监听的端口号,然后网页把该端口号缓存下来,后续的正常业务请求,都通过该端口号去发送给本地代理服务。
4.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征
在于:
在用户电脑上安装本地代理服务,由代理服务集成调用电脑外接设备的接口模块,本地代理服务程序通过监听本地端口对上层提供HTTPS服务。
5.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征在于:
本地代理服务集成一个或者多个电脑外接设备的接口模块,并且本地服务启动的时候,静默加载所有预先配置的电脑外接设备的接口模块。
6.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征在于:
本地代理服务程序在安装以后,默认设置为电脑开机启动,每次本地服务启动时,都会自动对本地环境
进行检测和修复,并且对内部集成的电脑外接设备的接口模块进行预加载和模拟调用;当加载或调用失败时,自动完成对该接口模块的修复。
7.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征在于:
通过网页访问本地代理服务的查询版本号接口,实现本地代理服务的自动分发、版本智能更新功能。
8.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征在于:
浏览器在加载目标网页的时候,发送查询版本号的HTTPS请求到本地代理服务的流程如下:
如果查询版本号的HTTPS请求无响应,则说明该电脑上没有安装本地代理服务或本地代理
服务异常,则网页自动跳转到本地代理服务下载网页,提示用户下载安装本地代理服务,从而完成本地代理服务的自动分发功能;
如果查询版本号HTTPS请求返回的版本号小于预期的版本号,则说明该电脑上安装的是旧版本的本地代理服务,则网页自动跳转到本地代理服务更新包的下载网页,提示用户下载并更新本地服务,从而完成本地代理服务的版本智能更新功能。
技术说明书
基于本地代理服务实现跨浏览器调用电脑外接设备的方法
技术领域
本技术属于信息安全、数据业务领域,具体而言,本技术涉及一种基于本地代理服务实现跨浏览器调用电脑外接设备的实现方法。
背景技术
现有的浏览器中调用电脑外接设备的方法:
目前在浏览器中打开网页调用电脑外接设备(如CA数字证书、手写板、标签打印机等),通常都是指在IE浏览器的网页中嵌入厂家提供的ActiveX控件,通过ActiveX控件提供的接口去调用电脑的外接设备。通常每种外接设备都需要在网页中集成一个或多个厂家提
供的ActiveX控件,在网页打开的时候会挨个提示用户加载某个ActiveX控件。
ActiveX控件是微软基于Windows平台设计的浏览器插件技术,它是一些控件组件或对
象的封装,开发者可以将其插入到Web网页或其它应用程序中,实现对接口或功能的使用。
许多浏览器的扩展功能,如网银,Flash等功能都是以ActiveX的形式提供。但是只有IE内
核的浏览器对ActiveX进行了支持,而非IE内核的浏览器不支持这种形式的控件,例如:Chrome、Firefox、Safari、Edge等。
现有技术方案分析:
由于ActiveX控件是微软提出的一种网页中使用控件的标准,所以仅仅支持IE内核的浏览器。如果要在网页中调用电脑外接设备,通常要在网页中集成一个或多个ActiveX控件。综上分析,现有的技术方案存在以下几个问题:
问题一:ActiveX控件仅仅支持IE内核的浏览器,目前主流的Chrome内核、Firefox内核浏览器都不支持ActiveX控件,导致用户无法在除IE之外的主流的浏览器(例如Chrome、Firefox、Safari、Edge等)中去使用电脑的外接设备(如CA数字证书、手写板、标签打印机等)。
问题二:网页中集成ActiveX控件后,在用户打开网页时,受IE安全机制保护限制,通常需要用户手动确认加载该ActiveX控件,假如用户忘了授权或者误操作取消加载,则很容易导致用户无法正常使用电脑外接设备。
问题三:如果某个网页中需要使用多个电脑外接设备,则需要在该网页中集成嵌入多个ActiveX控件,从
而导致在用户打开该网页时会多次提示加载ActiveX控件,无形中极大的增加了用户无法正常使用电脑外接设备的几率。
问题四:由于ActiveX控件的实现机制的原因,导致ActiveX控件在正常使用之前,都必须正确的在系统中注册,且存放在特定的位置(例如windows系统c盘的system目录下)。目
前的技术方案无法自动检测和修复ActiveX依赖的环境信息,从而导致电脑环境信息在被破坏和篡改时,用户将无法继续使用电脑外接设备。
问题五:假如某个新接入的电脑外接设备(如常用的标签打印机等),厂家仅仅提供了DLL 动态库等接口模块,并没有提供ActiveX控件,则现有的技术方案无法保证在网页中使用该电脑外接设备。