本文将进一步介绍Fiddler的进阶功能,修改Http请求或响应,并使用FiddlerCore将其应用在代码当中。
一.修改Http请求
使用Fiddler,将原本访问地址 https://blog.csdn.net/qq_29556507 的请求修改为访问http://vip.rs1314.cn。
以谷歌浏览器为例,正常情况下访问我的博客列表页如下图:
1.懂开发的,都知道debug,看下图....即在请求发起前自动断点
2.
触发请求并查看断点,这就是去浏览器请求一下我的那个博客,或者你要抓取的网站
修改请求并继续执行请求
修改完毕后,点击Go按钮继续执行,由于这个自动断点会你的所有请求都生效,所以修改完毕后可以先把自动断点去掉,回到浏览器页面可以看到请求的页面已经被修改
FiddlerCore
首先从官网下载FiddlerCoreAPIhttps://www.telerik.com/purchase/fiddlercore
查阅手册,看几个关键的方法和变量:
//获得Request体
oSession.GetRequestBodyAsString()
//获得Response内容
oSession.GetResponseBodyAsString()
// 修改session中的显示样式
oSession["ui-color"] = "orange";
// 移除http头部中的MQB-X5-Referer字段
oSession.oRequest.headers.Remove("MQB-X5-Referer");
// 修改http头部中的Cache-Control字段
oSession.oRequest["Cache-Control"] = "no-cache";
// 修改host
oSession.host = "example.domain";
// 修改Origin字段
oSession.oRequest["Origin"] = "http://domain";
// 删除所有的cookie
oSession.oRequest.headers.Remove("Cookie");
// 新建cookie
oSession.oRequest.headers.Add("Cookie", "username=cookiename;");
// 修改Referer字段
oSession.oRequest["Referer"] = "https://yoururl";
拦截websockets请求
FiddlerCore是Fiddler官方提供的DLL类库,封装了Fiddler一系列API,使用此类库可以在代码中实现以上及更多的功能
//在发送请求之前执行的操作 Fiddler.FiddlerApplication.BeforeRequest += delegate (Fiddler.Session oS){ if (checkBox1.Checked) { //实现修改请求目标的功能 if (oS.fullUrl.Contains("https://blog.csdn.net/qq_29556507")) { oS.fullUrl = "http://vip.rs1314.cn/"; } }};
更多精彩文章关注微信公众号 java微技术
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/1892521.html