首页必威体育betway › Fiddler (二) Script 用法

Fiddler (二) Script 用法

 

由往日一篇博客 【Fiddler教程】, 我们询问了Fiddler的中坚用法, 
现在大家来看望Fiddler的尖端用法. Fiddler Script。   Fiddler中的script
可以让我们自行修改Http request和Response 的情节。 
而不用手动地去下"断点"来修改http Request或Response中的值。

Fiddler的作者

Fiddler 的作者是 埃里克(Eric) 劳伦斯(Lawrence) 是个大师级的人员,
近期在微软总部斯图加特工作。 他的博客是:
http://www.ericlawrence.com/Eric/

博客中能看到她的简历,以及部分生存照.

 

赶上题目怎么向Fiddler的撰稿人请教

埃里克(Eric) 劳伦斯 在Google 论坛中建了一个Fiddler 的议论组,
地址是:https://groups.google.com/forum/?fromgroups\#!forum/httpfiddler

在此地Fiddler的使用者只要遇上其他问题,都可以这论坛里向来问埃里克(Eric)(Eric) Law.
Eric Law一般都会快速回复你。 
在问问题以前,请搜索下。因为你的题材很可能别人已经问过了。

 

关于Fiddler Script

Fiddler 包含了一个剧本文件可以自行修改Http Request
和Response.这样大家就不需要手动地下"断点"去修改了,

实在它是一个剧本文件CustomRules.js 

位于: C:\Documents and Settings\[your user]\My
Documents\Fiddler2\Scripts\CustomRules.js 下

你也得以在Fiddler 中开拓CustomRules.js 文件,  启动Fiddler,
点击菜单Rules->Customize Rules...

Fiddler Script 的法定援救文档必须认真阅读,
地址是:http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp

 

Fiddler Script 是用JScript.NET语言写的

自身平素没听说过JScript.NET语言,可能是JScript的晋级版啊。 
写起来有点类似C#

 

安装Fiddler Script Editor

你可以直接用notepadCustomRules.js文件,

强烈推荐下载 Fiddler Script Editor
地址是: http://www.fiddler2.com/fiddler/fse.asp

Fiddler Script Editor 提供了语法高亮,以及智能指示的功用, 如下图:

图片 1

 

CustomRules.js中的首要格局

// 在这些措施中修改Request的情节, 我们用得最多,

static function OnBeforeRequest(oSession: Session)

 

// 在这些方法中修改Response的内容,

static function OnBeforeResponse(oSession: Session)

 

// 在个形式中含有Fiddler 命令。  在Fiddler界面中左下方的QuickExec Box

static function OnExecAction(sParams: String[])

 

给Fiddler添加菜单

Fiddler可以效仿各样浏览器,你可以透过点击菜单 Rules->User-Agents

但是好像没有Iphone 4S safari 的, 我们现在加上一个。  先查询在网上Iphone
4S safari 的user-Agents, 然后添加如下代码代码就可以了

RulesStringValue(23, "Iphone 4S safari", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7")

 保存脚本, 重启Fiddler就足以看出菜单中多了个Iphone 4s

图片 2

 

您可以把您常用的操作,都定义成一个menu,

 

修改Session在Fiddler的呈现样式

俺们能够控制Session在Fiddler中展示的体制, 具体文档是:
http://www.fiddler2.com/Fiddler/dev/SessionFlags.asp

 

把这段脚本放在OnBeforeRequest(oSession: Session) 方法下,并且点击"Save
script", 这样所有的cnblogs的对话都会突显黑色.

     if (oSession.HostnameIs("www.cnblogs.com")) {
            oSession["ui-color"] = "red";
        }

运作效果如

图片 3

 

 

如何在Fiddler Script中修改Cookie

cookie其实就是request 中的一个header.

// 删除所有的cookie

oSession.oRequest.headers.Remove("Cookie");

 

// 新建cookie

oSession.oRequest.headers.Add("Cookie",
"username=testname;testpassword=P@ssword1");

在意: Fiddler script不可以间接删除或者编辑单独的一个cookie,
你需要用replace方法或者正则表达式的点子去操作cookie的string

图片 4

static function OnBeforeRequest(oSession: Session) 
{ 
     if (oSession.HostnameIs('www.example.com') && 
          oSession.uriContains('pagewithCookie') && 
oSession.oRequest.headers.Contains("Cookie")) 
     { 

     var sCookie = oSession.oRequest["Cookie"]; 

     //  用replace方法或者正则表达式的方法去操作cookie的string
     sCookie = sCookie.Replace("cookieName=", "ignoreme="); 

     oSession.oRequest["Cookie"] = sCookie; 
    } 

图片 5

 

如何在Fiddler Script中修改Request 中的body

方法一:

图片 6

static function OnBeforeRequest(oSession: Session) 
{ 
    if(oSession.uriContains("http://www.cnblogs.com/TankXiao/"))
    {
        // 获取Request 中的body字符串
        var strBody=oSession.GetRequestBodyAsString();
        // 用正则表达式或者replace方法去修改string
        strBody=strBody.replace("1111","2222");
        // 弹个对话框检查下修改后的body               
        FiddlerObject.alert(strBody);
        // 将修改后的body,重新写回Request中
        oSession.utilSetRequestBody(strBody);
    }
}

图片 7

 

主意二:  提供了一个非常简单的章程,可以平素交换body中的数据

 oSession.utilReplaceInRequest("1111", "2222");

转载本站文章请注明出处:bway883.com https://www.piworx.com/?p=4048

上一篇:

下一篇:

相关文章

网站地图xml地图