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响应的头信息。从这两张图里我们可以清楚看到,所有的请求和响应信息都已经被我们监听到了。再看一下浏览器,网页也正常的打开了,速度也不是很慢,看来,我们的代理服务器算是正常的运转起来了。
-
打印机出现卡纸怎么办,打印机卡纸怎么处理
有没有小伙伴在使用打印机的时候遇到过故障。下面我们就一起来看看关于打印机出现卡纸怎么办?打印机卡纸应该怎么处理的具体方法。打印机卡纸要怎么拿出来(01)当我们使用的打印机突然出现突然卡纸现象是怎么回事呢?首先我们需要先打开打印机的“前额”。(02)下图就表...
-
怎样制作电子版的贺卡?
在这个互联网如此发达的时代,每逢亲朋好友过生日,各种节日的到来之际,我们总想借助互联网送去自己的祝福。往往想给亲朋好友邮寄一张贺卡,然而网络搜索到的贺卡有时不尽人意,或没有创意,或没法表达自己的感情。那么,为什么不尝试亲手制作一张贺卡呢?步骤/方法(01)设置贺...
-
如何将图片转换成word文本
在工作生活中,我们经常为图片文本识别的问题而烦恼,要知道图片中的文本是不可编辑的,我们如果想将图片中的文本提取出来,就只能使用识别工具对图片进行识别,将其转换成Word文本。可是,我们要选择哪一款识别工具呢?大家如何将图片转换成Word文本呢?下面我们就一起来看看...
-
win10任务计划在哪里 如何打开计划任务程序
在使用Windows10的过程中,有时候我们需要禁用任务计划程序里的某个计划,这时就需要打开任务计划程序,那么我们怎么样打开计划任务程序呢?下面就与大家分享两个方法吧。方法/步骤1(01)在Windows10系统桌面,依次点击“开始/Windows系统/控制皮肤”菜单项。(02)在打开的Win...