惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
量子位
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
博客园 - Franky
M
MIT News - Artificial intelligence
U
Unit 42
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
J
Java Code Geeks
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MyScale Blog
MyScale Blog
T
Tailwind CSS Blog
T
The Blog of Author Tim Ferriss
V
V2EX

博客园 - LT

用vs code写代码,spyder看变量,只能这样了 Chrome禁用software_reporter_tool 【转载】Scarbee Pre-Bass 贝司的使用教程 罗兰管弦乐音色表【中英文对照】 ----转载 博文阅读密码验证 - 博客园 火狐无法启动,如何恢复数据、书签、密码 【转】C#写的170行俄罗斯方块 [转]C#获取窗口进程ID与句柄还有读写内存类 一个好用的C#抓图类 【转】WinSocket编程——原始套接字 【转】SHarpPcap(winpcap基于c#封转的库)网络嗅探程序核心 [心得] socket 多路复用误区 UDP 异步 收发 服务端例子 【转载】 UDPClient 的奇特现象,实在搞不懂 [转载]TCP打开端口数和打开连接数限制系列文章 UDP错误10054:远程主机强迫关闭的解决方法---转载 应用程式上屏蔽flash控件的右键菜单并获得左键消息_c# AJAX分段下载/读取HTML内容(有效节省带宽加快运行速度) Subversion for Windows 安装配置
使用Fiddler2录制HTTP操作脚本
LT · 2011-08-14 · via 博客园 - LT

Fiddler本身是用来做web debugging的工具。其具体的介绍和更多的使用方法请参考知识库中以下文章:

Fiddler—Web调试代理工具

在线调试JavaScript和CSS

本文将详细介绍如何通过fiddler2录制http操作请求的脚本。

为了只保留操作过程中的关键请求数据,我们需要自定义fiddler的过滤项。

完整的录制步骤如下:

打开fiddler2,此时后台会启动一个代理服务器。此后所有的http请求都会经过此代理服务器进行请求转发。
配置fiddler2过滤项。
1:首先需要只保留fiddler对浏览器请求的捕捉。点击左下角处的”All processes”变成”Web Browers”即可。这样fiddler就只捕捉IE或Firefox的请求
2:指定默认的Rules。在fiddler的菜单栏中选择”Rules”,弹出下拉列表后,选择以下三项:”Hide Image Requests”,”Remove All Encodings”,”Hide 304s”.
自定义过滤规则。由于目前的平台4.0系统中存在有大量的循环或显示用的请求,因此还需要自定义过滤规则。
3:选择”Rules”—>”Customize Rules”,在弹出的文本文件中进行修改和补充后,自定义规则即时生效。或者使用Rules插件进行修改.
在该文件中找到static function OnBeforeRequest(oSession: Session),OnBeforeResponse方法,增加相应的过滤规则,就会相应的过滤请求。

以下为OnBeforeRequest中增加的过滤条件.附件为一修改后的脚本CustomRules.js
该文件位于C:\Documents and Settings\username\My Documents\Fiddler2\Scripts
//过滤请求不显示到界面上.
if(oSession.HTTPMethodIs(“GET”)){
oSession["ui-hide"] = “true”;
} else{
if (oSession.uriContains(“BootAndPtStatus.do”)){
oSession["ui-hide"] = “true”;
}

if (oSession.uriContains(“Alarmlog.do”)){
oSession["ui-hide"] = “true”;
}

if (oSession.uriContains(“SystemRun.do”)){
oSession["ui-hide"] = “true”;
}

}保存脚本。在左侧的请求序列中,选择需要保存的请求数据后,点击右键在弹出的界面中,选择”Save “->”Sessions”->”As Text”.这样选中的请求就会以文本形式保存。
下面为保存的已录制脚本数据.

该脚本中包含三个步骤的操作:登陆->强制登陆–>登出

POST /login.dof?action=userLogin HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://192.168.19.2:8080/login.html
x-requested-with: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; QQDownload 1.7; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: 192.168.19.2:8080
Content-Length: 30
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=C404BA0368933D32FA08A5EF1BAE2D49

username=admin&password=123456
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/json;charset=utf-8
Date: Mon, 16 Mar 2009 02:32:47 GMT
Content-Length: 132

{“success”:false,”errors”:{“exception”:”"},”isgrab”:”[admin]正在被IP= [192.168.12.154]的用户使用中,是否抢占登录?”}

——————————————————————

POST /login.force?action=userLogin HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://192.168.19.2:8080/login.html
x-requested-with: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; QQDownload 1.7; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: 192.168.19.2:8080
Content-Length: 30
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=C404BA0368933D32FA08A5EF1BAE2D49

username=admin&password=123456
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=FD32F2962420B7BA72A1BAD3ACBEB616; Path=/
Content-Type: text/json;charset=utf-8
Date: Mon, 16 Mar 2009 02:32:50 GMT
Content-Length: 44

{“success”:true,”message”:”操作成功!”}

——————————————————————

POST /logout.dof?action=logout HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://192.168.19.2:8080/index.html
x-requested-with: XMLHttpRequest
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; QQDownload 1.7; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: 192.168.19.2:8080
Content-Length: 0
Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=FD32F2962420B7BA72A1BAD3ACBEB616

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/json;charset=utf-8
Date: Mon, 16 Mar 2009 02:33:00 GMT
Content-Length: 59

{“success”:false,”errors”:{“sessionout”:true,”outinfo”:”"}}

Fiddler 具有强大的分析、编码解码(带有一个编码解码工具)、伪装(可动态伪装为任意主流浏览器)等能力。
支持 GZIP 压缩,支持 IPv6,从 2.* 版本开始支持 HTTPS 协议以并可进行动态解密。
支持图像,XML 以及网页表单数据查看。
带有过滤器,方便过滤无关结果。还有“时间线”可以查看收到数据的先后顺序及总耗时。
还带有“请求生成器”可发送自定义数据到服务器。特有的“自动应答”功能可以直接拦截并处理来自浏览器的特定请求而不发送到服务器。
支持插件(扩展),可自定义规则(语法为 JavaScript),甚至设置断点。
不过,目前动态捕获功能似乎只适用于基于 IE 内核的浏览器。
最后,此软件完全免费。我已经用了好几个月,稳定性还是不错的。

下载:
2.* 稳定版本:http://www.fiddler2.com/dl/Fiddler2Setup.exe
2.* 测试版本(较新):http://www.fiddler2.com/dl/Fiddler2BetaSetup.exe
在线帮助及视频教程:http://www.fiddler2.com/Fiddler/help/
官方扩展列表:http://www.fiddler2.com/Fiddler2/extensions.asp
系统要求: Windows 2000 / XP / 2003 / Vista 操作系统, Microsoft .NET Framework v2.0 或更高版本