一种通过网页调用操作系统的方法与流程

未命名 07-22 阅读:67 评论:0


1.本发明涉及计算机技术领域,具体为一种通过网页调用操作系统的方法。


背景技术:

2.目前大量的业务系统都是基于浏览器作为访问工具的。出于安全等多方面的考虑,网站无法突破浏览器调用操作系统本身的能力,而实际业务中,一些功能又是业务上需要的,比如行政服务大厅网点需要调用身份证读卡器、高拍仪这种设备、比如需要将本地文件上传ftp服务器等操作。
3.现有技术中,浏览器厂商提供了插件的解决方案,例如chrome浏览器提供了npapi的解决方案,但是具有安全性和稳定性问题,且这类方案,本质上都属于浏览器的插件,由于浏览器品牌的不同,插接开发五花八门,标准不统一,无法形成统一的解决方案。所以,基于浏览器插件的方式扩展网站能力的方案存在很大的弊端,或者基于chromium内核封装自己的浏览器,扩展浏览器的能力,该方案的缺点是,本身扩展浏览器的工作量大,这部分的工作量大于本身实现相应需求的工作量,因此得不偿失。


技术实现要素:

4.针对现有技术存在的不足,本发明目的是提供一种通过网页调用操作系统的方法,以解决上述背景技术中提出的问题,本发明提供一个桥梁程序,具备处理http请求的能力,网站无论在使用任意品牌的浏览器均能够达成调用本地api的能力。
5.为了实现上述目的,本发明是通过如下的技术方案来实现:一种通过网页调用操作系统的方法,包括搭建桥梁程序以及下列调用步骤:步骤一、利用网页可以请求本地的http请求,将网页的方法调用转换为协议调用;步骤二、网页可以通过javascript的asynchronous javascript and xml(以下简称ajax技术),调用桥梁程序的web服务器;步骤三、web服务器接收到ajax请求后,首先根据secretkey进行鉴权;步骤四、桥梁程序完成操作系统本地api、动态库的调用;步骤五、桥梁程序将本地调用的结果,作为ajax请求的http response返回。
6.进一步的,所述桥梁程序集成一个小型的web服务器,在操作系统后台运行,具备处理http请求的能力。
7.进一步的,桥梁程序的web服务器能够兼容任意品牌的浏览器。
8.进一步的,所述桥梁程序包装若干个url。
9.进一步的,所述步骤三中,secretkey的产生,web服务器和网站可以约定一个随机值+盐值的方法确保安全性。
10.进一步的,所述步骤四中,由url的分类名和方法名,定位到本地需要调用的动态库名称、api方法名。
11.进一步的,根据url中的参数名称,转换为api的参数,调用系统本地的api或者动态库的方法。
12.进一步的,所述url的组成规则为http://本机ip:端口/分类名/方法名?参数。
13.本发明的有益效果:1.该通过网页调用操作系统的方法提供一个桥梁程序,该桥梁程序集成一个小型的web服务器,在操作系统后台运行,具备处理http请求的能力。网站无论在使用任意品牌的浏览器,都能请求该桥梁程序的web服务器,而桥梁程序接收到http请求后,根据请求的url,桥梁程序定位到本地的方法,达成调用本地api的能力,支持各品牌的浏览器,不受浏览器品牌的限制,兼容性好;2.该通过网页调用操作系统的方法中,突破了浏览器对网站能力的限制,将原来桌面程序能够实现的功能,开放了接口给网站调用,让网站具备了桌面程序的能力;3.该通过网页调用操作系统的方法中,网站调用桥梁程序,都是本地调用,数据都是本地传输,不会互联网传输数据,安全性得到了保证。
附图说明
14.图1为本发明一种通过网页调用操作系统的方法的流程图;图2为本发明一种通过网页调用操作系统的方法的原理图。
具体实施方式
15.为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
16.请参阅图1至图2,本发明提供一种技术方案:一种通过网页调用操作系统的方法,通过提供一个桥梁程序,该桥梁程序集成一个小型的web服务器,在操作系统后台运行,具备处理http请求的能力。网站无论在使用任意品牌的浏览器,都能请求该桥梁程序的web服务器,而桥梁程序接收到http请求后,根据请求的url,桥梁程序定位到本地的方法,达成调用本地api的能力。
17.本实施例,该过程中,网站网页开发首先明确自己需要调用的本地能力,需要集成的动态库。桥梁程序收集能力列表和动态库方法列表,整理并分类对应的分类名和方法名。桥梁程序功能上集成需要调用的分类和方法,引入对应的头文件,对应的动态库,定义url和方法调用,参数的转换。
18.包括搭建桥梁程序以及下列调用步骤:步骤一、利用网页可以请求本地的http请求,将网页的方法调用转换为协议调用;步骤二、网页可以通过javascript的asynchronous javascript and xml(以下简称ajax技术),调用桥梁程序的web服务器;步骤三、web服务器接收到ajax请求后,首先根据secretkey进行鉴权;步骤四、桥梁程序完成操作系统本地api、动态库的调用;步骤五、桥梁程序将本地调用的结果,作为ajax请求的http response返回。
19.本实施例,在用户电脑安装桥梁程序,桥梁程序是一个windows安装程序包。安装后程序后台运行,程序会在本机打开127.0.0.1:54321端口,接收http请求。
20.桥梁程序集成的web服务器,接收到请求后,首先校验secretkey。桥梁程序接收到secretkey后,按照同样的规则生成secretkey,比较双方的字符串是否相同,进行鉴权。secretkey校验通过后,解析url发现请求的是winapi下的deletefilew方法,参数为
lpfilename,调用winapi方法deletefilew完成文件的删除。
21.以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
22.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。


技术特征:
1.一种通过网页调用操作系统的方法,其特征在于,包括搭建桥梁程序以及下列调用步骤:步骤一、利用网页可以请求本地的http请求,将网页的方法调用转换为协议调用;步骤二、网页可以通过javascript的asynchronous javascript and xml(以下简称ajax技术),调用桥梁程序的web服务器;步骤三、web服务器接收到ajax请求后,首先根据secretkey进行鉴权;步骤四、桥梁程序完成操作系统本地api、动态库的调用;步骤五、桥梁程序将本地调用的结果,作为ajax请求的http response返回。2.根据权利要求1所述的一种通过网页调用操作系统的方法,其特征在于:所述桥梁程序集成一个小型的web服务器,在操作系统后台运行,具备处理http请求的能力。3.根据权利要求2所述的一种通过网页调用操作系统的方法,其特征在于:桥梁程序的web服务器能够兼容任意品牌的浏览器。4.根据权利要求2所述的一种通过网页调用操作系统的方法,其特征在于:所述桥梁程序包装若干个url。5.根据权利要求1所述的一种通过网页调用操作系统的方法,其特征在于:所述步骤三中,secretkey的产生,web服务器和网站可以约定一个随机值+盐值的方法确保安全性。6.根据权利要求1所述的一种通过网页调用操作系统的方法,其特征在于:所述步骤四中,由url的分类名和方法名,定位到本地需要调用的动态库名称、api方法名。7.根据权利要求6所述的一种通过网页调用操作系统的方法,其特征在于:根据url中的参数名称,转换为api的参数,调用系统本地的api或者动态库的方法。8.根据权利要求7所述的一种通过网页调用操作系统的方法,其特征在于:所述url的组成规则为http://本机ip:端口/分类名/方法名?参数。

技术总结
本发明提供一种通过网页调用操作系统的方法,包括搭建桥梁程序以及下列调用步骤:步骤一、利用网页可以请求本地的http请求,将网页的方法调用转换为协议调用;步骤二、网页通过Ajax技术,调用桥梁程序的web服务器;步骤三、WEB服务器接收到Ajax请求后根据secretKey进行鉴权;步骤四、桥梁程序完成操作系统本地API、动态库的调用;步骤五、将本地调用结果作为Ajax请求的Http response返回,该调用方法突破了浏览器对网站能力的限制,将原来桌面程序能够实现的功能,开放了接口给网站调用,让网站具备了桌面程序的能力,且网站调用桥梁程序属于本地调用,数据都是本地传输,安全性得到了保证。到了保证。到了保证。


技术研发人员:吕少燕 王飞
受保护的技术使用者:合肥景云软件工程有限责任公司
技术研发日:2023.06.19
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐