2009-07-23 10 views
1

私は数日間Fiddlerを使用していましたが、自分のロジックでCustomRules.jsを拡張しました。しかし、ファイルはかなり重くなってきています(最初はかなり重いです)。私は.NETやJScriptに慣れていませんが、CustomRules.jsをいくつかの小さなファイルに分割して、CustomRules.jsに含めることができるようにしたいと考えています。これは可能ですか?FiddlerのCustomRules.jsに永続的なストレージを含める

私はまた、要求の向こう側に何らかの種類の永続ストレージを持つ必要性を見出しています。後のリクエストで使用するために、CustomRules.jsに値を保存する簡単な方法はありますか?

答えて

1

ルールファイルを他のファイルに分割する直接的な方法はありません(追加することを考えてください)。ここで説明するように、.NETライブラリをコンパイルしてスクリプトファイルから呼び出すことができます。http://www.fiddler2.com/Fiddler/dev/UsingCSharp.asp

大規模なルールファイルでは、機能を直接Fiddlerに提供します。

「要求を超えた永続ストレージ」 - どのようなタイプのストレージですか? JavaScriptグローバル変数をFiddlerScriptに追加するだけで、要求全体に渡ってメンテナンスされます。これは基本的にRulesメニューオプションのほとんどがどのように機能するかです。 「要求を越えて」ではなく、「Fiddlerのスタートアップ/シャットダウンを越えて」という意味なら、ファイルやレジストリに値を格納するコードを記述する必要があります。

+0

ありがとうエリック! 私が書いたカスタムルールでは、リクエストが送信される前にPOSTデータを変更し、ブラウザにヒットする前にレスポンスデータを変更することができます。私は正規表現やその他の文字列操作関数がFiddlerの他の領域で利用できるかどうか、あるいはそれを別々に実装する方法についてはわかりませんでした。 グローバル変数のように聞こえるのは、複数のリクエスト間のストレージという点です。私は、グローバル変数を作成していると思ったことを試しましたが、要求の間には続きませんでした。 1つのリクエストから値を保存して別のリクエストで値を取得することができませんでした。これの構文は何ですか? – Kevin

+0

内部クラスHandlers {、のようなものを追加 public static var sUA:String = "Mystring"; これで、関数内のsUA値を変更できます。 Fiddlerはマルチスレッドであり、スクリプトは多くの異なるスレッドで並行して実行されることに注意してください。 複雑なルールを作成する場合は、IFiddlerExtensionを使用することを検討してください。これにより、すべてのコードをC#で記述し、.NETフレームワークの豊かさをより簡単に活用できます。 http://www.fiddler2.com/fiddler/dev/IFiddlerExtension.asp – EricLaw

+0

FWIW、Fiddler 2.2.6.4+は、設定の自動永続性を可能にする新しい設定システムをサポートします。情報については、http://fiddler.wikidot.com/prefsを参照してください。 – EricLaw

関連する問題