一种支持多种浏览器与本地应用程序进行通信的方法技术

技术编号:16390116 阅读:207 留言:0更新日期:2017-10-17 07:58
本发明专利技术公开了一种支持多种浏览器与本地应用程序进行通信的方法,包括步骤:浏览器向应用系统服务器发出请求;应用系统服务器组织请求内容向辅助服务器请求服务;辅助服务器认证成功之后根据请求内容构造一个自定义URL,通过应用系统服务器返回给浏览器;浏览器进一步组织自定义URL,通过自定义URL链接,在网页中调用本地应用程序;本地应用程序解析URL参数,将操作结果提交给辅助服务器;辅助服务器通过应用系统服务器将结果返回到浏览器。本发明专利技术可以满足浏览器和本地应用程序交互的需求,克服了各主流浏览器内核不同、开发技术不一,以至于不兼容给用户的使用带来的不便的问题。

A method to support communication between multiple browsers and local applications

The invention discloses a method for supporting a variety of browsers and local application of communication comprises the following steps: the browser request to the application server; application system server organization request content service request to the secondary server; the secondary server authentication success according to request the content structure of a custom URL, returned to the browser through the application server system; the browser further organized through custom custom URL, URL link, call the local application in web pages; local application analysis of URL parameters, the operating results submitted to the secondary server; the secondary server through the application server returns the result to the browser. The invention can satisfy the demand of the interaction between the browser and the local application program, and overcomes the inconvenience caused by the different kernel browsers, the different development technology, and the incompatibility of the users.

【技术实现步骤摘要】

本专利技术涉及计算机应用
,特别涉及一种支持多种浏览器与本地应用程序进行通信的方法
技术介绍
目前主流的浏览器有MicrosoftInternetExplorer、GoogleChrome、MozillaFirefox、360安全浏览器等。现有存在的支持浏览器调用本地应用程序的方案有以下几种:(1)Microsoft的ActiveX/COMMicrosoftInternetExplorer使用Microsoft的ActiveX/COM,但是目前win10采用的默认浏览器是Edge,不再是MicrosoftInternetExplorer,当前的本地应用程序中间件是无法在Edge中使用的。随着业务发展,越来越多用户期望可以同时兼容Chrome、FireFox、Edge等浏览器。(2)NetscapeNPAPI插件旧版本的Chrome和FireFox使用NetscapeNPAPI,运行在NPAPI插件中的代码拥有当前用户的全部权限,不能利用GoogleChrome的沙箱技术和其他安全防护技术。鉴于NPAPI可能引入的风险,从2014年1月开始,ChromeStable版本将阻止网页安装NPAPI插件,并且从Chrome45版本开始已经正式弃用NPAPI插件。(3)浏览器扩展新版本的Chrome使用GoogleChrome扩展和NativeMessaging来使浏览器和应用程序进行交互,但是谷歌的网站通常很难访问,安装扩展也不甚方便。微软的Edge,也是通过浏览器扩展的方式与本地应用程序进行交互。(4)自定义协议自定义协议,类似于mailtohttphttps,主流浏览器都支持,只需要在注册表中添加相应内容即可,如在页面启动迅雷下载器。但是这种方案只是在浏览器中启动本地应用程序,而无法达到使浏览器和应用程序进行交互的目的。现有技术方案存在以下问题:1)需要针对不同的浏览器进行研究,并采用针对性的开发,开发和维护的工作量都比较大。2)通常这些开发技术都是各个浏览器私有的,如果选用不当,可能以后会不再支持的风险,比如以前的NPAPI。3)即使自定义协议可以满足各个浏览器调用本地应用程序但是无法满足浏览器和本地应用程序交互的需求。现有技术中各个浏览器的机制不同,需要采用不同的方式来实现,因此,在当前环境下,需要有更便利的方式来支持各种浏览器调用本地应用程序,并且满足浏览器和本地应用程序进行交互的需求。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种支持多种浏览器与本地应用程序进行通信的方法,利用自定义URL使浏览器启动本地应用程序,可以满足浏览器和本地应用程序交互的需求,兼容各种浏览器,克服了各主流浏览器内核不同、开发技术不一,以至于不兼容给用户带来的使用不便的问题。本专利技术的目的通过以下的技术方案实现:一种支持多种浏览器与本地应用程序进行通信的方法,包括以下步骤:步骤1:浏览器向应用系统服务器发出请求;步骤2:应用系统服务器组织请求内容,向辅助服务器请求服务;步骤3:辅助服务器认证应用系统服务器,认证成功之后产生请求id并根据请求内容构造一个自定义URL,返回给应用系统服务器;步骤4:应用系统服务器将自定义URL返回给浏览器;步骤5:浏览器进一步组织自定义URL,通过自定义URL链接,在网页中调用本地应用程序或者显示二维码图片,当显示为二维码图片时则由移动端的应用程序进行扫描;步骤6:本地应用程序解析URL参数,将操作结果提交给辅助服务器;步骤7:在步骤5之后,浏览器向应用系统服务器查询结果;步骤8:应用系统服务器向辅助服务器查询结果;步骤9:辅助服务器向应用系统服务器返回步骤6的结果;步骤10:应用系统服务器将结果返回到浏览器。优选的,浏览器向应用系统服务器发出的请求可以是证书登录、表单签名、证书绑定等。优选的,步骤2中应用系统服务器组织请求内容,通过post方式向辅助服务器请求服务。优选的,步骤3中应用服务器和辅助服务器之间采用应用账号和认证码的认证方式。优选的,步骤6中本地应用程序解析URL参数,通过post方式将操作结果提交给辅助服务器。优选的,步骤7中浏览器开启长轮询或者长连接通过post方式向应用系统服务器查询结果。优选的,步骤8中辅助服务器向应用系统服务器返回步骤6的结果,应用系统服务器对辅助服务器返回的操作结果进行验证,验证操作结果是否有效;验证有效之后将操作结果返回给浏览器。优选的,本方法采取单向证书SSL的方式。本专利技术与现有技术相比,具有如下优点和有益效果:1、本专利技术利用自定义URL使浏览器启动本地应用程序,可以满足浏览器和本地应用程序交互的需求,兼容各种浏览器,克服了各主流浏览器内核不同、开发技术不一,以至于不兼容给用户的使用带来很大的不便的问题,同时PC端和手机端都可以使用。2、本专利技术采取单向证书SSL的方式,服务器之间使用应用账号和认证码的方式进行认证,在安全上保证了数据的保密传输。附图说明图1是实施例1的流程示意图;图2是实施例2使用数字证书登录的流程示例图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例1一种支持多种浏览器与本地应用程序进行通信的方法,本方法涉及到浏览器、应用系统服务器、辅助服务器、本地应用程序。通过应用系统服务器和辅助服务器,浏览器可以实现与本地应用程序的间接交互。其中为了使本地应用程序能够更好的实现与浏览器进行交互,也便于应用开发的集成,使用了辅助服务器,辅助服务器主要根据应用请求的内容来构造URL,以及将本地应用程序的运行结果传送给应用系统服务器。具体流程如下:步骤1:浏览器向应用系统服务器发出请求(登陆,表单签名等)。步骤2:应用系统服务器组织请求内容,通过post方式向辅助服务器请求服务。步骤3:辅助服务器通过应用账号和密码认证应用系统服务器,认证成功之后产生requestid值即请求id,这个请求id是唯一的,并根据请求内容构造一个自定义URL(URLScheme),返回给应用系统服务器。步骤4:应用系统服务器将自定义的URL返回给浏览器。步骤5:浏览器进一步组织URL,通过自定义URL链接,在网页中调用本地应用程序,或者显示二维码图片,当显示为二维码图片时则由移动端的应用程序进行扫描。步骤6:本地应用程序解析URL参数,由于URL链接的格式是标准的,在使用过程中,只需要对其中的参数进行解析,根据参数进行相应的操作,通过post方式将操作结果提交给辅助服务器。步骤7:在步骤5之后,浏览器开启长轮询或者长连接通过post方式向应用系统服务器查询结果。步骤8:应用系统服务器向辅助服务器查询结果。步骤9:辅助服务器向应用系统服务器返回步骤6的结果。步骤10:应用系统服务器将结果返回到浏览器。实施例2一种支持多种浏览器与本地应用程序进行通信的方法,以数字证书登录为例的操作流程包括:步骤1:浏览器向应用系统服务器提交登录请求;步骤2:应用系统服务器产生随机数random;步骤3:应用系统服务器根据应用账号和密码,向辅助服务器发送签名请求。步骤4:辅助服务器成功认证应用系统服务器后返回响应结果,即自定义的URL:NetcaCryptoSvr://?requestId=reques本文档来自技高网
...
一种支持多种浏览器与本地应用程序进行通信的方法

【技术保护点】
一种支持多种浏览器与本地应用程序进行通信的方法,其特征在于,包括以下步骤:步骤1:浏览器向应用系统服务器发出请求;步骤2:应用系统服务器组织请求内容,向辅助服务器请求服务;步骤3:辅助服务器认证应用系统服务器,认证成功之后产生请求id并根据请求内容构造一个自定义URL,返回给应用系统服务器;步骤4:应用系统服务器将自定义URL返回给浏览器;步骤5:浏览器进一步组织自定义URL,通过自定义URL链接,在网页中调用本地应用程序或者显示二维码图片,当显示为二维码图片时则由移动端的应用程序进行扫描;步骤6:本地应用程序解析URL参数,将操作结果提交给辅助服务器;步骤7:在步骤5之后,浏览器向应用系统服务器查询结果;步骤8:应用系统服务器向辅助服务器查询结果;步骤9:辅助服务器向应用系统服务器返回步骤6的结果;步骤10:应用系统服务器将结果返回到浏览器。

【技术特征摘要】
1.一种支持多种浏览器与本地应用程序进行通信的方法,其特征在于,包括以下步骤:步骤1:浏览器向应用系统服务器发出请求;步骤2:应用系统服务器组织请求内容,向辅助服务器请求服务;步骤3:辅助服务器认证应用系统服务器,认证成功之后产生请求id并根据请求内容构造一个自定义URL,返回给应用系统服务器;步骤4:应用系统服务器将自定义URL返回给浏览器;步骤5:浏览器进一步组织自定义URL,通过自定义URL链接,在网页中调用本地应用程序或者显示二维码图片,当显示为二维码图片时则由移动端的应用程序进行扫描;步骤6:本地应用程序解析URL参数,将操作结果提交给辅助服务器;步骤7:在步骤5之后,浏览器向应用系统服务器查询结果;步骤8:应用系统服务器向辅助服务器查询结果;步骤9:辅助服务器向应用系统服务器返回步骤6的结果;步骤10:应用系统服务器将结果返回到浏览器。2.根据权利要求1所述的方法,其特征在于,浏览器向应...

【专利技术属性】
技术研发人员:梁宁宁赵敏梁家声刘义袁永强
申请(专利权)人:广东省电子商务认证有限公司
类型:发明
国别省市:广东;44

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

1