【2017年整理】关于浏览器插件在解决二次录入方面的应用

上传人:豆浆 文档编号:1020954 上传时间:2017-05-25 格式:DOC 页数:9 大小:94KB
返回 下载 相关 举报
【2017年整理】关于浏览器插件在解决二次录入方面的应用_第1页
第1页 / 共9页
【2017年整理】关于浏览器插件在解决二次录入方面的应用_第2页
第2页 / 共9页
【2017年整理】关于浏览器插件在解决二次录入方面的应用_第3页
第3页 / 共9页
【2017年整理】关于浏览器插件在解决二次录入方面的应用_第4页
第4页 / 共9页
【2017年整理】关于浏览器插件在解决二次录入方面的应用_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《【2017年整理】关于浏览器插件在解决二次录入方面的应用》由会员分享,可在线阅读,更多相关《【2017年整理】关于浏览器插件在解决二次录入方面的应用(9页珍藏版)》请在金锄头文库上搜索。

1、上海卓繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.1关于浏览器插件在解决二次录入方面的应用二一年六月十日上海卓繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.前言在电子政务的推广进程中,各种系统并存,上 级部门拥有自己的一套系统,下级部门也拥有自己的一套系统,下级部门在办理业务时,需要在本部门系统和上级部门系统中都录入相同的数据,这无疑是增加了窗口人员的工作量,由于两套系统并存可能会持续很长一段时间,所以解决这个二次录入的问题成为了电子政务开发中非常有

2、必要解决的问题,在我们公司长期的开发和摸索中,共形成了三种解决方案,分别采用的是 HTTP 拦截技术、 浏览 器插件技术和数据库推送技术三种技术,针对不同的二次录入情况, 选择适合的解决方案,并且存在多种解决方案并用的情况。本文将重点介绍浏览器插件在解决二次录入问题方面的应用。上海卓繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.一三种解决方案的介绍(1)使用 HTTP 拦截技术:随着浏览器的出现和 HTTP 技术的发展,业务系统绝大部分已经向 BS 模式迁移,浏览器借助 HTTP 完成客户端和服务器的通讯,由微软内部人员开

3、发的 fidder 软件可以对 HTTP 的要求和响应进行拦截,fidder 软件采用.net C#编写, 软件给用户预留了 编程的接口,可以通 过修改 fidder 拦截规则,让 fidder 对指定的站点和指定的请求和响应进行拦截,拦截后取得发送的请求报头或者收到的响应报头,并且 fidder 可能完全使用.net 库,可以通过编程接口建立 socket 或者串口连接,将拦截的内容(可以对拦截的内容进行加工)发送至其他业务系统,从而实现一次录入的目标。这种方式的好处在于减少了编程人员的工作量,编程人员只需要简单的配置业务机的 fidder 脚本的拦 截规则,再建一个接收服务器,对接收到的内

4、容进行分析入库。这种方式的缺点在于如果业务系统采用 HTTPS 加密协议,则很可能会对业务机访问业务系统产生很大的影响,所有对 HTTPS 加密系统,采用 fidder 是不保险的。(2)使用数据库推送方式:对于 CS 模式的系统,要拦截客户端和服务器之间的通讯内容是很难的,对于这种系统,解决二次 录入只能通过数据库推送方式,两种业务系统通过中间库的方式进行推送,一方将业务数据推送到中间库,另一方从中间库中取得业务数据,插入自身 业务数据库, 这种方式要求双方建立一个合适的中间库。这种方式是解决二次录入最好的方法,编程人员只需要熟悉数据库脚本就能完成。这种方式的缺点是需要业务系统双方参与,这在

5、实际情况中很难协调成功。(3)浏览器插件方式:通过浏览器插件对 A 业务系统页 面事件的监视,可以上海卓繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.在触发业务数据提交事件之前钩住事件,用浏览器插件分析页面数据,发送需要的数据给 B 业务系统,如果是采用 socket 传输方式的话,可以在 B 业务系统接收完数据之后,再给 A 业务系统一个反馈的消息,如接收完受理数据后,A 业务 系统可以发送打印受理通知 书的 URL 地址,B 业务系统的操作人员可以不用在不登录 A 业务系统的情况下打印 A 业务系统的受理通知书,这在实

6、际应用中很有用。上海卓繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.二浏览器插件技术的介绍这里说的浏览器插件技术是针对微软的 IE 浏览器。浏览器插件简称 BHO (Browser Helper Object,浏览器辅助对象) 是一种很实用的工具,浏览器在启动过程中,会从系统注册表的固定位置来搜索通过系统注册的插件(具体的位置是:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects) ,然后加载插件,我们

7、在使用浏览器的过程中经常会用到浏览器插件,例如我们大部分人都会用到迅雷,迅雷 软件有监视浏览器的功能,当你点击你需要下载的链接时,会自动去下载, 这个自动 下载的过程就是插件在发挥作用,这 是因为浏览器插件具有完全访问浏览器的内容和监视浏览器事件的功能。从某种观点看,Internet Explorer 同普通的 Win32 程序没有什么两样。借助于 BHO,你可以写一个进 程内 COM 对象,这个对 象在每次启动时都要加载。这样的对象会在与浏览器相同的上下文中运行,并能对可用的窗口和模块执行任何行动。例如,一个 BHO 能够探测到典型的事件,如GoBack、GoForward、Document

8、Complete 等;另外 BHO 能够存取浏览器的菜单与工具栏并能做出修改,还 能够产生新窗口来显示当前网页的一些额外信息,还能够安装钩子以监控一些消息和动作。简而言之, BHO 的工作如我们打入浏览器领地的一位间谍(注意这是微软允许的合法工作)。在进一步了解 BHO 细节之前,有几点我需要 进 一步阐述。首先, BHO 对象依托于浏览器主窗口。实际 上, 这意味着一旦一个浏览器窗口产生,一个新的BHO 对 象实例就要生成。任何 BHO 对象与浏览器 实例的生命周期是一致的。其次, BHO 仅存在于 Internet Explorer 4.0 及以后版本中。BHO 也被 Windows上海卓

9、繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.资源管理器所支持。 BHO 是一个 COM 进程内服务 ,注册于注册表中某一 键下。在启动时,Internet Explorer 查询那个键并把该键下的所有对象预以加载。上海卓繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.三浏览器插件的开发(1)开发环境:VS2005(2)语言:VC+(3)编程分支:ATL COM 编程(4)开发步骤a.新建 VC+工程,选择 ATL 项目 ATLTestb.新建类 Hel

10、loWorldBHO,选择 ATL 简单对象,线 程模型选择单元,聚合 选择否,接口选择双重,支持选择 IobjectWithSite(IE 支持对象) ,HelloWorldBHO 继承 CcomObjectRootEx, CcomCoClass, IobjectWithSiteImpl, IdispatchImplc.实现 IobjectWithSiteImpl STDMETHOD(SetSite)(IUnknown *pUnkSite)方法,缓存浏览器访问对象指针 CComPtrd.编写代码使 HelloWorldBHO 继承 IdispEventImpl,并且实现 Invoke 方法,

11、这样就能插件就能收到浏览器中发生的所有事件,在 invoke 方法中对事件进行判断和处理,注意这里的事件是针对整个浏览器的所有的事件,需要通过连接点查询到事件发生的具体对象,编程比较麻烦e.继承微软实现 好的 IdispEventImpl 类,此 类可能对文档装载事件、浏览器退出等事件进行处理,这对我们来说已经足够了,在主页面装载完成之后,自动弹出消息,例如“已经进行业务系统” ,通 过 分析查询到我们要抓取的页面所在位置,查询到触发事件源, 绑定事件处理类f.建立 HTML 事件处理类,CdengjiEventHandler, 继 承 Idispatch,实现 Invoke方法,在 invo

12、ke 方法中,查询 所有需要的页面内容,通 过 socket 发送到接收端,并从接收端接受返回消息上海卓繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.g.在 ATLTest.rgs 中,添加下列代码 HKCRNoRemove AppID%APPID% = s mytestmytest.DLLval AppID = s %APPID%HKLM NoRemove SOFTWARE NoRemove Microsoft NoRemove Windows NoRemove CurrentVersion NoRemove Explo

13、rer NoRemove Browser Helper Objects ForceRemove 1970E660-2521-407B-88FB-A9ED3BF86D40 = s HelloWorldBHO val NoExplorer = d 1此代码可将项目通过 dll 服务注册到注册表中h.编译工程,导出 dll 文件i.调试插件四浏览器插件部署打开命令行,进入 dll 所在目录,输入 regsvr ALTTest.dll五浏览器插件优势和不足(1)优势:操作人员机器只需要安装一个浏览器插件,浏览器打开之后就会上海卓繁信息技术有限公司 SHANGHAI ZHUO FAN INFORMATION TECHNOLOGY CO.,LTD.自动工作。(2)不足:编程要求比较高

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号