基于FIddler实现Chrome内核下对网页进行填表操作以及原理

由于这段时间比较匆忙,一直没来得及写博客,外加模块功能还不是很齐全~拖了好几个月哈哈。

下面言归正传、使用过易语言软件的童鞋,估计都听说过“填表”是啥玩意,其实就是通过WINDOWS API来获取到IE的对象接口,这样就可以通过接口随心所欲的控制网页上的每一个元素。

但是由于IE浏览器逐渐被淘汰,并且也不支持HTML5,大部分都转向WEBKIT浏览器,除了少部分(例如网银),但是为什么Chrome内核不支持“填表”呢?    答案其实很简单,因为IE是微软自己家公司开发的浏览器,所以它也自然预留了API接口,但是Chrome是由谷歌开发的一个独立内核浏览器,所以就没有预留接口(貌似目前谷歌浏览器预留有了,但是只能在浏览器上运行),所以很遗憾没有相关API进行获取对象来对网页进行操作。

但是很庆幸的是,Chrome浏览器的内核(webkit)是开源的! 所以可以自己写一个浏览器,给自己的浏览器预留接口就可以对CHROME内核进行填表了(会开发才行啊- -!),不过这种可能就有局限性了,比如觉得其它浏览器功能比较齐全,并且是客户要求等,必须在特定浏览器执行,而且浏览器也不是自己开发的,就没有接口来用了~这就很尴尬。

那么第一种方法不理想的话,就可以尝试第二种方法,那就是使用近来比较火的软件Fiddler(WEB网页调试工具),这款软件是基于C#开发,它是以代理服务器的形式可以对网页的数据进行分析,调试,甚至是修改!!

首先是Fiddler这款软件的团队,是提供了一个Fiddler调用接口,可以直接使用它们的接口来控制网页数据,那么这款软件对填表起到了什么作用呢? 其实把JS玩透的小伙伴都知道, HTML5有一个功能,就是 Websocket 长链接,Websocket类似于TCP长链接,可以一直与服务器进行交流。  也就是说,可以通过Fiddler的数据拦截功能,往网页注入Websocket代码,来进行与我们的软件交互!!这样就可以完美实现填表操作了。

但是这个接口只能在C#调用,只会玩易语言的小伙伴可能就觉得遗憾了,不过不要紧,作者已经将Fiddler接口完全封装成了一个易语言模块,可以直接使用~

基于FIddler实现Chrome内核下对网页进行填表操作以及原理

那么图片上就是这个模块的Fiddler封装功能,可以直接对数据很好的分析,并且还添加了一些填表操作的功能

基于FIddler实现Chrome内核下对网页进行填表操作以及原理


功能算是比较齐全,其原理都是通过websocket来实现易语言与网页端进行交互,达到填表作用,模块和教程都可以到奇易论坛下载