今度は、フィドラーズの高度な使い方を見てみましょう。フィドラースクリプト。スクリプト内のフィドラーは、私たちは、自動的にコンテンツのHTTPリクエストとレスポンスを変更することができます。手動で次の「休憩」に移動することなく、HTTPリクエストまたはレスポンスの値を変更します。
シオマネキの作者
フィドラーズ・著者はエリック・ローレンスは現在、シアトルのマイクロソフト本社で働く、文字のマスターです。彼のブログは、次のとおりです。 http://www.ericlawrence.com/Eric/
ブログは、彼の履歴書だけでなく、生活の一部の写真で見ることができます。
フィドラーの著者を聞いてどのようにしている問題
:エリック・ローレンスは、アドレスがあり、Googleグループのディスカッショングループフィドラーに建てhttps://groups.google.com/forum/?fromgroups#!forum/httpfiddler
ここでは、ユーザフィドラーご質問があれば、あなたはエリック法を聞いて、このフォーラムを指示することができます。一般的にはエリック法はすぐにご連絡いたします。質問をする前に、次を検索します。あなたの問題がありそうなので誰かが前に尋ねたでしょう。
フィドラースクリプトについて
フィドラーは、スクリプトファイルが自動的にHTTPリクエストとレスポンスを変更することができます含まれています。だから我々は、変更するために、手動で地下の「休憩」する必要はありません
実際には、スクリプトファイルCustomRules.jsです
位于:C:\ DocumentsとSettings \ [ユーザー] \ Fiddler2を\スクリプト\マイドキュメント\ CustomRules.js下
また、CustomRules.jsでフィドラーでファイルを開くことができフィドラーは起動し、メニューRules-をクリック>ルールをカスタマイズ...
フィドラースクリプト公式ヘルプドキュメントを読まなければなりませんが、アドレスは次のとおりです。http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
フィドラースクリプトはJScript.NETで書かれています
私はJScript.NET言語を聞いたことがない、JScriptのは、それのアップグレードバージョンかもしれません。C#に似て少しアップライト
インストールフィドラースクリプトエディタ
あなたは、ファイルを直接notepadCustomRules.jsすることができます
非常にお勧めのダウンロードフィドラースクリプトエディタのアドレスは次のとおりです。 http://www.fiddler2.com/fiddler/fse.asp
以下に示すようにフィドラースクリプトエディタは、構文の強調表示とのIntelliSense機能を提供します。
CustomRules.jsの主な方法
//リクエストは、このメソッドの内容を変更し、我々は、ほとんどを使用します
静的関数OnBeforeRequest(oSession:セッション)
//この方法で応答の内容を変更し、
静的関数OnBeforeResponse(oSession:セッション)
//メソッドにフィドラーコマンドを含めます。フィドラーインターフェースQuickExecボックスの左下には
静的関数OnExecAction(sParams:文字列[])
フィドラーは、メニューに追加しました
フィドラーは、ブラウザの様々なシミュレートすることができます、あなたはメニューRules->ユーザーエージェントをクリックすることができます
しかし、我々が今1を追加し、iPhone 4Sのサファリを思えません。まず、ユーザーエージェントのインターネットのiPhone 4Sのサファリを確認し、それをコードに次のコードを追加します
RulesStringValue(23、 "iPhoneの4Sサファリ"、「Mozillaの/ 5.0(iPhone; U; CPU iPhone OS 4_0のMac OS Xのような; EN-US)のAppleWebKit / 532.9ヤモリのような(KHTML、)バージョン/ 4.0.5モバイル/ 8A293 Safariの/6531.22.7" )
スクリプトを保存し、あなたがiPhone 4秒以上のものを見ることができますフィドラーメニューを再起動します
あなたの一般的な操作を置くことができ、それがメニューとして定義され、
フィドラーズ・セッションで表示スタイルを変更します。
特定の文書がある中で私たちは、フィドラーに表示されたセッションのスタイルを制御することができます。 http://www.fiddler2.com/Fiddler/dev/SessionFlags.asp
下の方法、およびすべてのcnblogsセッションが赤色で表示されるように、「保存スクリプト」をクリックします。OnBeforeRequest(セッションoSession)でこのスクリプトを入れてください。
IF(oSession.HostnameIs( "www.cnblogs.com")){ oSession [ "UI-色"] = "赤"。 }
業績など
フィドラースクリプトにクッキーを変更する方法
クッキーは、ヘッダ要求に実際にあります。
//すべてのクッキーを削除します
oSession.oRequest.headers.Remove( "クッキー");
//新しいクッキーを作成します。
oSession.oRequest.headers.Add("Cookie", "username=testname;testpassword=P@ssword1");
注意: Fiddler script不能直接删除或者编辑单独的一个cookie, 你需要用replace方法或者正则表达式的方法去操作cookie的string
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; }
如何在Fiddler Script中修改Request 中的body
方法一:
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); } }
方法二: 提供了一个非常简单的方法,可以直接替换body中的数据
oSession.utilReplaceInRequest("1111", "2222");
本文来源于:http://www.cnblogs.com/TankXiao/archive/2012/04/25/2349049.html