HTTP请求拦截技术
我们采用C#来实现,C#下有一个完整的WEB DEBUGGER(含代理服务器方式实现的HTTP请求拦截与篡改功能)--Fiddler,Fiddler是一个免费软件,所以并没有对源码进行混淆和加密,反编译后的代码可读性也很好。我们后面的所有代码,主要就是参考他的代码来实现,当然他实现的功能非常强大,我们仅仅是演示一下HTTP请求与拦截技术的实现,所以没有必要完整的去模拟它,故而我们模拟的原则是,手动的一个类一个类一个方法一个方法的进行模拟,在模拟的过程中能简化的尽量简化,有些思路不太清楚,或者的确是重复造轮子的部分,就直接使用他的代码,以后如果有时间,再对其源码进行一次详细的分析与研究,这次有些部分我们就不再深究了。
操作方法
(01)首先,我们来实现一个代理服务器,完成HTTP请求的拦截,先来看一看实现后的样子,这样有助于理解代码。编译后的程序,我拷贝了一份放在了附录的根目录下的Build文件夹里,在build文件夹里找到这个(图1),双击启动需要.net framework 4.0 没有的到微软官网下载。启动后如图所示:(图2)
(02)这时候,我们打开浏览器,随便CHROME,FIREFOX还是IE,然后输入 training.zhunxin.net 回车(Enter) 。看一下我们的主界面,没有任何反应,这是正常的,因为我们还没有设置代理服务器。 :)任何浏览器,都有设置代理服务器的地方,鉴于天朝 IE的使用率,这里讲IE里的操作步骤。打开IE--工具--Internet选项--连接--局域网设置。(图1)勾上(跳过本地地址的代理服务器不要勾选),然后点高级。(图2)HTTPS和FTP等不要设置(本代理服务器未对这两种协议进行处理),IP是127.0.0.1表示代理服务器是在本机,监听端口设成8888,目前代码里写死了。
(03)在IE里设置完后,我们会发现其它浏览器也自动开始使用代理服务器了,这是因为设置代理服务器是系统的功能,每个浏览器打开的都是同一个设置代理服务器的程序看到这里,大家是不是发现了什么问题。我们不是以后每次要拦截的时候,都要手动设置一次代理服务器吧,-_-!!! ,当然,这是不可能的,后面我们将在篡改一节的开始,就实现一个自动设置代理服务器的功能,这样,当我们的代理服务器启动的时候,就自动将本机的代理服务器设置成自己,退出的时候,再恢复成原样,这样就不再需要向上面一样手动设置了。OKAY, 一切就绪了,这时候,再次在浏览器里输入网址:training.zhunxin.net。看下主界面:(图1)看左边,会话已经被监听到了。我们点第一栏的编号为1的会话,界面如下:(图2)看右边,先看上面的文本框,这里显示出了HTTP请求的头信息,再看下面的文本框,这里也显示出了HTTP响应的头信息。从这两张图里我们可以清楚看到,所有的请求和响应信息都已经被我们监听到了。再看一下浏览器,网页也正常的打开了,速度也不是很慢,看来,我们的代理服务器算是正常的运转起来了。
-
电脑上怎样申请QQ号
很多人在打开电脑的时候,都会习惯登录QQ跟别人聊天,如果没有QQ账号的话,可以在电脑上免费申请QQ号,或者之前的QQ号是别人给的,自己不喜欢,也可以重新申请一个新的QQ号,在这里,跟大家分享一下在电脑上如何免费申请QQ号的方法。电脑上免费申请QQ号的步骤(01)在电脑上下载和...
-
QQ浏览器如何安装应用插件
QQ浏览器如何安装应用插件,浏览器的应用插件的安装对我们来说是非常方便的。下面以安装护眼导航应用为例,介绍如何安装浏览器应用插件。操作方法(01)打开QQ浏览器,点击右上角的“”+“”如图所示(02)进入了安装应用的首页,如图所示(03)比如安装一个护眼的应用,鼠标停留在...
-
EPSON R230打印机清零软件无法使用的解决方法
当EPSONR230打印机两个红灯闪烁,并提示“打印机的墨管已到它们的使用寿命”时就需要使用清零软件进行处理,可是在我们使用清零软件的过程中,总是出现这样或那样的问题。那么我们在遇到这些问题时该如何解决呢?操作方法(01)首先当打开清零软件可执行文件时,系统会弹出...
-
在Word文档中怎么样进行简繁体转换?
字体有繁体和简体之分,而Word文档主要的功能是记录保存文本文字,可能由于区域不一样,有的喜欢用简体有的喜欢用繁体,为了方便查看,就需要用到简繁体的相互转换了。操作方法(01)方法一:比较常用的,就是用Word文档自带的简繁体转换功能,找到审阅——简转繁——便可将选择的...