フィドラー版:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 for .NET 4.6.1
Built: 2018年6月27日
1: まず、vs2017を使って新しい.NET 4.0ライブラリプロジェクトを作成します(これは間違っています。以下で述べる通り、4.6.1プロジェクトを作らなければコンパイルが失敗します、以下のように示されます。
私のフィドラー版は比較的高いため、.NET版の要件は高くなり、.NET 4.0バージョンのコンパイルと生成時にエラーは次のように報告されます。
1>------ すべての再構築が開始されました:プロジェクト:fiddler-plugin-demo、構成:デバッグ 任意のCPU------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): 警告 MSB3274: 「Fiddler」というメイン参照を「」に特定できなかったため解決できませんでした。 NETFramework, Version=v4.6.1". このフレームワークバージョンは現在のターゲットフレームワークよりも高いです。 NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): warning MSB3268: main reference「Fiddler」の解決に失敗しました。 これはフレームワークアセンブリ「System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a」に間接的に依存しており、現在のターゲットフレームワークでは解析できないためです。 “. NETFramework,Version=v4.0"。 この問題を解決するには、「Fiddler」への参照を削除するか、アプリケーションのターゲットを「System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a」を含むフレームワークバージョンにリダイレクトしてください。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): 警告 MSB3275: アセンブリの問題によりメインリファレンス「Fiddler」を解決できませんでした analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 「間接依存関係を持ち、アセンブリは に向けられています。」 NETFramework, Version=v4.5" framework. このフレームワークバージョンは現在のターゲットフレームワークよりも高いです。 NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): 警告 MSB3275: アセンブリの問題によりメインリファレンス「Fiddler」を解決できませんでした newtonsoft.json、バージョン=11.0.0.0、culture=neutral、PublicKeyToken=30ad4fe6b2a6aeed"は間接依存関係を持ち、アセンブリは"に対して指向されています。 NETFramework, Version=v4.5" framework. このフレームワークバージョンは現在のターゲットフレームワークよりも高いです。 NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): 警告 MSB3275: アセンブリの問題によりメインリファレンス「Fiddler」を解決できませんでした GA。 analytics.monitor、version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 「アセンブリに関連する間接依存関係を持つ」。 NETFramework, Version=v4.5" framework. このフレームワークバージョンは現在のターゲットフレームワークよりも高いです。 NETFramework,Version=v4.0"。 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\Properties\AssemblyInfo.cs(37,12,37,19): error CS0246: 型または名前空間名を見つけられませんでした」 Fiddler」(使用命令やアセンブリの参照が欠けているのでしょうか?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): error CS0246: 「Fiddler」という型または名前空間名を見つけられませんでした(欠如) 指令文を使うのか、それともアセンブリ参照を使うのか?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): error CS0246: 型または名前空間名「IAutoTamper」を見つけられませんでした ( 使用指示やアセンブリ参照が欠けているのでしょうか?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): error CS0246: 型または名前空間名「Session」を見つけられませんでした(欠如) 指令文を使うのか、それともアセンブリ参照を使うのか?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): error CS0246: 型または名前空間名「Session」を見つけられませんでした(欠如) 指令文を使うのか、それともアセンブリ参照を使うのか?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): error CS0246: 型または名前空間名「Session」を見つけられませんでした(欠如) 指令文を使うのか、それともアセンブリ参照を使うのか?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): エラー CS0246: 型または名前空間名「Session」を見つけられませんでした(欠如) 指令文を使うのか、それともアセンブリ参照を使うのか?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): エラー CS0246: 型または名前空間名「Session」を検出できません(欠如) 指令文を使うのか、それともアセンブリ参照を使うのか?) ========== 全て再生:成功0、失敗1、スキップ0==========
解決策は.NET 4.6.1に切り替えることです!
2: ソリューションエクスプローラーにfiddler.exe参照を追加します。私のFiddlerインストールディレクトリは以下の通りC:\Users\itsvse_pc\AppData\Local\Programs\Fiddlerです:
3: プラグインが動いているFiddlerの最小バージョンを設定する
プロジェクトのAssemblyInfo.csファイル(およびコード内の他のどこか)にFiddler.RequiredVersion属性を追加してください。
4: 新しいFiddlerタブのUIコントロールを作成する
System.Windows.Forms アセンブリへの参照を追加する必要があります
まず、下の画像のように「任意のTestControl.cs」と名付けられたユーザーコントロールをプロジェクトに追加することから始めましょう。
次に、ユーザーコントロールの上にランダムなボタンコントロールを置き、シンプルなクリックイベントコードを書きます。
5: 新しいDemoExtention拡張クラスを作成する
DemoExtentionクラスはIAutoTamperインターフェースを継承します。IAutoTamperインターフェースはIFiddlerExtensionインターフェースを継承しますIAutoTamperインターフェースを実装するすべてのプラグインは、すべてのhttp/httpsリクエストやレスポンスで呼び出されるため、http/httpsリクエストレスポンスデータをハイジャックしたり変更したりすることができます。
注意:このインターフェースのメソッドはバックグラウンドの非UIスレッドで呼び出されます。UIを更新したい場合は、InvokeまたはBeginInvokeメソッドを使ってUIを更新できます。 IAutoTamperのすべての方法はOnLoadイベントの前に実行可能です。
コードは以下の通りです:
6: Fiddlerがプラグインを読み込む
プログラムと生成が終わったら、Debugディレクトリ内の2つのファイルfiddler-plugin-demo.dllとfiddler-plugin-demo.pdbを、fiddlerインストールディレクトリのscrip{filter}tsフォルダにコピーします。
私のフォルダはC:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}tsフォルダです。
最後に再起動してFiddlerを開くと、以下のようにタブにコントロールが表示されます。
7: プラグインをFiddlerプラグインディレクトリに自動デプロイできるようにする
プラグインを改変するたびに、dllをscrip{filter}tsフォルダに再度コピーする必要があります。この問題はVS生成イベントで解決できます。生成を再コンパイルすると、VSは自動的にdllをscrip{filter}tsディレクトリにコピーし、後期生成イベントのコマンドラインで以下のコマンドを入力します。
以下に示すように:
通常の使用でテストしました。
最後にソースコードを添付します:
観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ 答える
|