Verzia pre huslistov:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 pre .NET 4.6.1
Built: 2018年6月27日
1: Najprv používame vs2017 na vytvorenie nového projektu knižníc .NET 4.0 (To je nesprávne, ako poviem nižšie, musíte vytvoriť projekt vo verzii 4.6.1, inak kompilácia zlyhá), ako je uvedené nižšie:
Keďže moja verzia Fiddler je relatívne vysoká, požiadavky na .NET verziu budú vyššie a chyba sa pri kompilácii a generovaní .NET 4.0 verzie hlási nasledovne:
1>------ Začala sa celá prestavba: Projekt: fiddler-plugin-demo, Konfigurácia: Debugovať akýkoľvek CPU ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): varovanie MSB3274: Nepodarilo sa vyriešiť hlavný odkaz "Fiddler", pretože bol zameraný na ". NETFramework, verzia=v4.6.1". Táto verzia rámca je vyššia ako súčasný cieľový rámec." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): upozornenie MSB3268: Nepodarilo sa vyriešiť hlavný odkaz "Fiddler", Pretože má nepriamu závislosť na frameworkovom assembleri "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", ktorý sa v aktuálnom cieľovom frameworku nedá parsovať. “. NETFramework,Version=v4.0"。 Na vyriešenie tohto problému odstráňte odkaz na "Fiddler" alebo presmerujte cieľ aplikácie na verziu frameworku, ktorá obsahuje "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): varovanie MSB3275: Nepodarilo sa vyriešiť hlavnú referenciu "Fiddler" kvôli problému s assemblerom analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "má nepriame závislosti a zostava je zameraná na ". NETFramework, Version=v4.5" framework. Táto verzia rámca je vyššia ako súčasný cieľový rámec." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): varovanie MSB3275: Nepodarilo sa vyriešiť hlavnú referenciu "Fiddler" kvôli problému s assemblerom newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" má nepriame závislosti a zostava je zameraná proti ". NETFramework, Version=v4.5" framework. Táto verzia rámca je vyššia ako súčasný cieľový rámec." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): varovanie MSB3275: Nepodarilo sa vyriešiť hlavnú referenciu "Fiddler" kvôli problému s assemblerom GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "má nepriamu závislosť, s ktorou je zostava spojená". NETFramework, Version=v4.5" framework. Táto verzia rámca je vyššia ako súčasný cieľový rámec." 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): chyba CS0246: Nepodarilo sa nájsť názov typu alebo menného priestoru" Fiddler" (chýba nejaký inštrukčný alebo assemblerový odkaz?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): chyba CS0246: Nepodarilo sa nájsť názov typu alebo menného priestoru "Fiddler" (chýba použitie smernice alebo referencie na zhromaždenie?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): chyba CS0246: Nepodarilo sa nájsť názov typu alebo menného priestoru "IAutoTamper" ( Chýba nejaká direktíva alebo assembly reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): chyba CS0246: Nepodarilo sa nájsť názov typu alebo menného priestoru "Session" (chýba použitie smernice alebo referencie na zhromaždenie?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): chyba CS0246: Nepodarilo sa nájsť názov typu alebo menného priestoru "Session" (chýba použitie smernice alebo referencie na zhromaždenie?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): chyba CS0246: Nepodarilo sa nájsť názov typu alebo menného priestoru "Session" (chýba použitie smernice alebo referencie na zhromaždenie?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): chyba CS0246: Nepodarilo sa nájsť názov typu alebo menného priestoru "Session" (chýba). použitie smernice alebo referencie na zhromaždenie?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): chyba CS0246: Nepodarilo sa nájsť názov typu alebo menného priestoru "Session" (chýba použitie smernice alebo referencie na zhromaždenie?) ========== Regeneruj všetkých: 0 úspešné, 1 neúspešné a 0 ========== preskočené
Riešením je prejsť na .NET 4.6.1!
2: Pridajte fiddler.exe referenciu do Prieskumníka riešení, môj inštalačný adresár Fiddlera je: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, ako je uvedené nižšie:
3: Nastavte minimálnu verziu Fiddlera, ktorú plugin beží
Pridajte atribút Fiddler.RequiredVersion do AssemblyInfo.cs súboru vášho projektu (a kdekoľvek inde v kóde).
4: Vytvoriť nový ovládač používateľského rozhrania Fiddler tab
Musíte pridať odkaz na assembler System.Windows.Forms
Začnite pridaním používateľskej kontroly do vášho projektu s názvom TestControl.cs (ľubovoľné), ako je znázornené na obrázku nižšie:
Potom umiestnite náhodný ovládací prvok Button na používateľské ovládanie a napíšte jednoduchý kód udalosti riadku kliknutia:
5: Vytvoriť novú rozšírenú triedu DemoExtensionion
Trieda DemoExtensionion dedí rozhranie IAutoTamper,Rozhranie IAutoTamper dedí rozhranie IFiddlerExtensionVšetky pluginy, ktoré implementujú rozhranie IAutoTamper, budú volané pri každej http/https požiadavke alebo odpovedi, takže ich možno použiť na prevzatie alebo úpravu http/https odpovedí na požiadavky.
Poznámka: Metóda tohto rozhrania sa nazýva na pozadí, ne-UI vlákno, ak chcete UI aktualizovať, môžete použiť metódu Invoke alebo BeginInvoke na aktualizáciu UI. Všetky metódy IAutoTamper môžu byť vykonané pred udalosťou OnLoad.
Kód je nasledovný:
6: Fiddler načíta plugin
Po naprogramovaní a vygenerovaní skopírujte oba súbory fiddler-plugin-demo.dll a fiddler-plugin-demo.pdb v adresári Debug do priečinka scrip{filter}ts v našom inštalačnom adresári Fiddler.
Môj vlastný je: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts priečinok
Nakoniec reštartujeme a otvoríme Fiddlera, kde vidíme naše ovládacie prvky na karte, ako je uvedené nižšie:
7: Povoliť automatické nasadenie pluginu do adresára pluginov Fiddler
Pri každej úprave pluginu musíme dll opäť skopírovať do priečinka scrip{filter}ts, tento problém môžeme vyriešiť udalosťou generovania VS, prekompilujeme generovanie, VS automaticky skopíruje naše dll do adresára scrip{filter}ts a v príkazovom riadku neskoršej generácie udalostí vyplní nasledujúci príkaz:
Ako je uvedené nižšie:
Testované na bežné používanie.
Nakoniec pripojte zdrojový kód:
Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím. Odpoveď
|