zoukankan      html  css  js  c++  java
  • 使用Fiddler2录制HTTP操作脚本

    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 或更高版本

  • 相关阅读:
    IsDefined的问题
    设计匠艺模型
    真实案例引起的对系统健壮性的思考
    软件系统的稳定性
    LA工作第二周体会
    LA工作第一周体会
    https://blog.csdn.net/qq_26264237/article/details/90575165
    Maven项目配置logback
    Java 工具 Hutool4.0.0 正式发布:从懵懂到成熟
    IDEAidea中解决Java程序包不存在问题
  • 原文地址:https://www.cnblogs.com/niuniu502/p/2137671.html
Copyright © 2011-2022 走看看