admin管理员组

文章数量:1531699

2023年12月29日发(作者:)

本技术公开了一种基于本地代理服务实现跨浏览器调用电脑外接设备的方法,步骤一、在电脑上安装一个本地代理服务,该程序在安装的时候自动注册SSL通讯根证书到操作系统和浏览器的证书库中,并设置该代理程序为开机自动启动模式;步骤二、本地代理服务安装完成以后,自动启动运行;步骤三、本地代理服务在完成环境检测和修复以后,使用第一步注册的SSL根证书签发的SSL通讯证书在本地开启HTTPS服务,监听相应的本地端口,等待处理网页发送的相关业务请求;步骤四、设计多端口轮询的方式保障本地代理服务正常可用;步骤五、上层网页在加载的时候,完成本地代理服务的版本智能更新功能。权利要求书1.一种基于本地代理服务实现跨浏览器调用电脑外接设备的方法,具体步骤为:步骤一、在电脑上安装一个本地代理服务,该程序在安装的时候自动注册SSL通讯根证书到操作系统和浏览器的证书库中,并设置该代理程序为开机自动启动模式;步骤二、本地代理服务安装完成以后,自动启动运行;

步骤三、本地代理服务在完成环境检测和修复以后,使用第一步注册的SSL根证书签发的SSL通讯证书在本地开启HTTPS服务,监听相应的本地端口,等待处理网页发送的相关业务请求;步骤四、设计多端口轮询的方式保障本地代理服务正常可用;步骤五、上层网页在加载的时候,首先发送查询版本号的HTTPS请求到本地代理服务:如果该HTTPS请求无响应,则说明该电脑上没有安装本地代理服务或本地代理服务异常,则网页自动跳转到本地代理服务下载网页,提示用户下载安装本地代理服务,从而完成本地代理服务的自动分发功能;如果查询版本号HTTPS请求返回的版本号小于预期的版本号,则说明该电脑上安装的是旧版本的本地服务,则网页自动跳转到本地代理服务更新包的下载网页,提示用户下载更新本地服务,从而完成本地代理服务的版本智能更新功能。2.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征在于,所述步骤二中:首先代理程序完成对本机环境的检测、修复动作,包括且不限于对关注的ActiveX控件、COM组件、DLL动态库等是否能够正常调用的检测和修复,以及对SSL通讯根证书的检测和修复。3.根据权利要求1所述的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,其特征在于,所述步骤四中:事先约定几个不常用的端口号,本地代理服务在启动HTTPS服务时,轮询事先约定的几个端口号,发现哪一个端口没有被占用,则监听那个端口;同样的,网页在加载的时候就先给本地代理服务发送查询请求,轮询事先约定的几个端口号,发现哪一个端口的请求有数据正常返回,则知道本地代理服务正在监听的端口号,然后网页把该端口号缓存下来,后续的正常业务请求,都通过该端口号去发送给本地代理服务。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控件,则现有的技术方案无法保证在网页中使用该电脑外接设备。

问题六:目前很多开发者为了能够在非IE内核的浏览器中通过ActiveX调用电脑外接设备,而采用了NPAPI接口的插件技术,通过NPAPI接口的插件来调用ActiveX。但是该方案仅限于在Chrome和Firefox下使用,不支持Edge、Safari,且新版本的Chrome和Firefox不再支持NPAPI接口的使用。现有技术中,《一种支持浏览器的客户端功能扩展组件的实现方法》(CN2)提出了跨浏览器调用本地控件的原理和方法,但是仅限于HTTP协议,没有提出如何处理和实现HTTPS协议。因为HTTP是明文传输的,所以通讯内容很容易被窃听和篡改,且无法验证通讯双方的身份。为了保证通讯内容能够安全的传输,从而诞生了HTTPS协议。HTTPS是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,安全性比HTTP协议更高,所以目前主流网站都已采用了HTTPS协议。但是由于因为浏览器安全因素限制,在HTTPS协议的网页的中,无法跨域访问HTTP的本地网络请求,从而该方法无法实现在HTTPS的网页中去调用电脑外接设备。现有技术中,《一种跨浏览器使用硬件加密介质数据安全传输系统和方法》(CN2)提出了如何跨浏览器调用本地加密介质(CA证书)的实现原理和方法,没有提出如何实现HTTPS协议,以及如何解决本地代理服务的分发和更新的问题。技术内容针对现有技术中存在的问题,技术目的:针对目前日益增多的电脑外接设备,以及浏览器技术更新迭代越来越快、浏览器安全性越来越高的情况下,为了能够让用户更好的使用电脑外接设备,以及网页开发人员更方便的集成调用电脑外接设备,本技术提出一种基于本地代理服务实现跨浏览器调用电脑外接设备的实现方法,可以有效的解决上述问题。为了实现上述技术目的,本技术采用的技术方案是:一种基于本地代理服务实现跨浏览器调用电脑外接设备的方法,具体步骤为:步骤一、在电脑上安装一个本地代理服务,该程序在安装的时候自动注册SSL通讯根证书到操作系统和浏览器的证书库中,并设置该代理程序为开机自动启动模式。

步骤二、本地代理服务安装完成以后,自动启动运行。首先代理程序完成对本机环境的检测、修复动作,包括且不限于对关注的ActiveX控件、COM组件、DLL动态库等是否能够正常调用的检测和修复,以及对SSL通讯根证书的检测和修复。步骤三、本地代理服务在完成环境检测和修复以后,使用第一步注册的SSL根证书签发的SSL通讯证书在本地开启HTTPS服务,监听相应的本地端口,等待处理网页发送的相关业务请求。步骤四、设计多端口轮询的方式保障本地代理服务正常可用,具体实现为:事先约定几个(大于一个)不常用的端口号(例如:39001到39010,共十个端口),本地代理服务在启动HTTPS服务时,轮询事先约定的几个端口号(例如39001到39010),发现哪一个端口没有被占用,则监听那个端口。同样的设计,网页在加载的时候就先给本地代理服务发送查询请求,轮询事先约定的几个端口号(例如39001-到39010),发现哪一个端口的请求有数据正常返回,则可以知道本地代理服务正在监听的端口号,然后网页把该端口号缓存下来,后续的正常业务请求,都通过该端口号去发送给本地代理服务。通过该技术手段解决了由于浏览器的安全机制导致网页无法实时获取到本地代理服务成功监听的具体端口号以及事先约定的特定端口号是否被其他程序占用的异常情况等问题。步骤五、本技术中的上层网页在加载的时候,首先发送查询版本号的HTTPS请求到本地代理服务:如果该HTTPS请求无响应,则说明该电脑上没有安装本地代理服务或本地代理服务异常,则网页自动跳转到本地代理服务下载网页,提示用户下载安装本地代理服务,从而完成本地代理服务的自动分发功能。如果查询版本号HTTPS请求返回的版本号小于预期的版本号,则说明该电脑上安装的是旧版本的本地服务,则网页自动跳转到本地代理服务更新包的下载网页,提示用户下载更新本地服务,从而完成本地代理服务的版本智能更新功能。有益效果:本技术中,通过网页访问本地代理服务的查询版本号接口,可以实现本地代理服务的自动分发、版本智能更新功能,可以极大的减少产品的分发成本以及后台服务器的性能压力。

本技术中,本地代理服务程序通过监听本地端口对上层提供HTTPS服务,在网页中通过向本地代理服务发送HTTPS请求,从而实现跨浏览器调用电脑外接设备的目的,解决了现有技术方案中调用电脑外接设备仅能在IE内核的浏览器中实现的问题。本技术中,只需提供一个下载服务器即可完成自动分发、版本智能更新的功能。本地代理服务实现的自动分发、版本智能更新策略,极大的方便了程序的运营和推广,以及减少运营成本和后台服务的复杂程度。本技术实现了跨浏览器调用电脑外接设备,以及通过本地代理服务实现HTTPS协议的方式解决HTTP、HTTPS的网页中都能够跨域访问本地代理服务,从而实现调用电脑外接设备。本地代理服务通过轮询监听几个(大于一个)端口的方式,规避了指定的某个端口被其他程序意外占用的异常情况。通过本地代理服务的对环境的自动检测和修复策略极大的确保了本地代理服务能够正常运行,用户能够正常使用电脑外接设备。附图说明图1现有的技术方案运行逻辑图。图2本技术基于本地代理服务实现跨浏览器调用电脑外接设备的运行逻辑图。图3是本技术实施例的本地代理服务的环境检测修复流程图。图4是本技术实施例的网页通过本地代理服务调用电脑外接设备的流程图。图5是本技术实施例的本地代理服务自动分发和版本智能更新流程图。具体实施方式以下结合附图和具体实施例对本技术作进一步详细说明。

图1现有的技术方案运行逻辑图,如图所示,现有的技术方案仅能够在IE内核的浏览器中,通过ActiveX控件的方式去调用电脑外接设备(如CA证书、标签打印机、手写板等设备),极大的降低了用户的使用体验,假如某个电脑外接设备没有提供ActiveX控件的话,则会导致用户无法通过网页去使用电脑外接设备。图2本技术的运行逻辑图,如图所示,本技术通过在本地实现代理服务,作为网页和电脑外接设备之间的桥梁通道,并且通过HTTPS加密通道的方式,确保在任何协议的网页(HTTP、HTTPS)中都能够正常使用电脑外接设备。即使某个电脑外接设备没有提供标准的ActiveX控件,这种情况下只需要提供DLL等形式的接口模块,集成到本地代理服务中以后,用户就可以正常的在主流内核(谷歌、Firefox、IE、Safari、Edge等)的浏览器中使用这些电脑外接设备。本实施例的基于本地代理服务实现跨浏览器调用电脑外接设备的实现方法,其中跨浏览器指的是本技术支持所有的常见浏览器(例如:Chrome、Firefox、Safari、IE、Edge等浏览器)通过本技术提出的技术框架实现调用电脑的外接设备的需求。本技术在用户电脑上安装本地代理服务,由代理服务集成调用电脑外接设备的接口模块(如DLL, ActiveX控件,COM组件等)。本地代理服务程序通过监听本地端口对上层提供HTTPS服务。由于主流的浏览器均支持HTTP/HTTPS类型的网络协议,所以在网页中通过向本地代理服务发送HTTPS请求,从而实现跨浏览器调用电脑外接设备的目的,解决了现有技术方案中调用电脑外接设备仅能在IE内核的浏览器中实现的问题。本实施例中的本地代理服务可以集成一个或者多个电脑外接设备的接口模块,并且本地服务启动的时候,静默加载所有预先配置的电脑外接设备的接口模块,从而很好的解决了现有的技术方案中调用多个电脑外接设备需要反复提示用户授权加载的问题。本实施例中的本地代理服务程序在安装以后,默认设置为电脑开机启动,每次本地服务启动时,都会自动对本地环境进行检测和修复,并且对内部集成的电脑外接设备的接口模块进行预加载和模拟调用。当加载或调用失败时,自动完成对该接口模块的修复,从而解决了现有方案中,在本地环境异常或者损坏时,无法自动检测和修复的问题。

本实施例中,通过网页访问本地代理服务的查询版本号接口,可以实现本地代理服务的自动分发、版本智能更新功能,可以极大的减少产品的分发成本以及后台服务器的性能压力。本技术中浏览器在加载目标网页的时候,发送查询版本号的HTTPS请求到本地代理服务的流程如下:【1】如果查询版本号的HTTPS请求无响应,则说明该电脑上没有安装本地代理服务或本地代理服务异常,则网页自动跳转到本地代理服务下载网页,提示用户下载安装本地代理服务,从而完成本地代理服务的自动分发功能。【2】如果查询版本号HTTPS请求返回的版本号小于预期的版本号,则说明该电脑上安装的是旧版本的本地代理服务,则网页自动跳转到本地代理服务更新包的下载网页,提示用户下载并更新本地服务,从而完成本地代理服务的版本智能更新功能。本实施例的基于本地代理服务实现跨浏览器调用电脑外接设备的方法,具体步骤为:步骤一、在电脑上安装一个本地代理服务,该程序在安装的时候自动注册SSL通讯根证书到操作系统和浏览器的证书库中,并设置该代理程序为开机自动启动模式。如图3所示,为本技术中本地代理服务在启动时对电脑环境进行自动检测和修复的过程。步骤二、本地代理服务安装完成以后,自动启动运行。首先代理程序完成对本机环境的检测、修复动作,包括且不限于对关注的ActiveX控件、COM组件、DLL动态库等是否能够正常调用的检测和修复,以及对SSL通讯根证书的检测和修复。步骤三、本地代理服务在完成环境检测和修复以后,使用第一步注册的SSL根证书签发的SSL通讯证书在本地开启HTTPS服务,监听相应的本地端口,等待处理网页发送的相关业务请求。如图4所示,为本技术中网页调用本地代理服务的过程。步骤四、设计多端口轮询的方式保障本地代理服务正常可用,具体实现为:事先约定几个

(大于一个)不常用的端口号(例如:39001到39010,共十个端口),本地代理服务在启动HTTPS服务时,轮询事先约定的几个端口号(例如39001到39010),发现哪一个端口没有被占用,则监听那个端口。同样的设计,网页在加载的时候就先给本地代理服务发送查询请求,轮询事先约定的几个端口号(例如39001-到39010),发现哪一个端口的请求有数据正常返回,则可以知道本地代理服务正在监听的端口号,然后网页把该端口号缓存下来,后续的正常业务请求,都通过该端口号去发送给本地代理服务。通过该技术手段解决了由于浏览器的安全机制导致网页无法实时获取到本地代理服务成功监听的具体端口号以及事先约定的特定端口号是否被其他程序占用的异常情况等问题。如图5所示,为本技术中实现本地代理服务自动分发、版本智能更新的过程。步骤五、本技术中的上层网页在加载的时候,首先发送查询版本号的HTTPS请求到本地代理服务:如果该HTTPS请求无响应,则说明该电脑上没有安装本地代理服务或本地代理服务异常,则网页自动跳转到本地代理服务下载网页,提示用户下载安装本地代理服务,从而完成本地代理服务的自动分发功能。如果查询版本号HTTPS请求返回的版本号小于预期的版本号,则说明该电脑上安装的是旧版本的本地服务,则网页自动跳转到本地代理服务更新包的下载网页,提示用户下载更新本地服务,从而完成本地代理服务的版本智能更新功能。综上,本技术通过在本地实现代理服务,完成跨浏览器调用电脑外接设备的方法,以及网页与本地代理服务之间的通讯协议为HTTPS形式的方法;本地代理服务通过注册SSL通讯证书的根证书到系统证书库、浏览器证书库,从而实现在网页中以HTTPS的形式跨域访问本地代理服务的方法;本地代理服务中实现轮询监听几个(大于一个)端口的方式,用于规避指定的某个端口被其他程序占用的异常情况的解决办法;本地代理服务启动时,自动对电脑环境进行检测和修复的方法和策略;本地代理服务的自动分发、版本智能更新策略。以上实施例仅为说明本技术的技术思想,不能以此限定本技术的保护范围,凡是按照本技术提出的技术思想,在技术方案基础上所做的任何改动,均落入本技术的权利要求书的保护范围之内。本技术未涉及的技术均可通过现有技术加以实现。

本文标签: 代理服务电脑接设备网页技术