Fiddler različica:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 za .NET 4.6.1
Built: 2018年6月27日
1: Najprej uporabimo vs2017 za ustvarjanje novega projekta knjižnice .NET 4.0 (To je narobe, kot bom povedal spodaj, morate zgraditi projekt v 4.6.1, sicer bo prevajanje spodletelo), kot je prikazano spodaj:
Ker je moja fiddler različica razmeroma visoka, bodo zahteve za .NET različico višje, napaka pa bo ob prevajanju in generiranju .NET 4.0 prikazana takole:
1>------ Začela se je vsa obnova: Projekt: fiddler-plugin-demo, Konfiguracija: Razhroščitev kateregakoli procesorja ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): opozorilo MSB3274: Ni uspelo rešiti glavne reference "Fiddler", ker je bila usmerjena na ". NETFramework, Version=v4.6.1". Ta različica okvira je višja od trenutnega ciljnega okvira." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): opozorilo MSB3268: Ni uspelo rešiti glavne reference "Fiddler", Ker ima posredno odvisnost od okvirnega sestavljanja "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", ki ga v trenutnem ciljnem ogrodju ni mogoče razčleniti. “. NETFramework,Version=v4.0"。 Za rešitev te težave odstranite omembo "Fiddler" ali preusmerite cilj aplikacije na različico ogrodja, ki vsebuje "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): opozorilo MSB3275: Ni uspelo rešiti glavne reference "Fiddler" zaradi težave z asemblerjem analitika, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "ima posredne odvisnosti, sestava pa je usmerjena na ". NETFramework, Version=v4.5" framework. Ta različica okvira je višja od trenutnega ciljnega okvira." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): opozorilo MSB3275: Ni uspelo rešiti glavne reference "Fiddler" zaradi težave z asemblerjem newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" ima posredne odvisnosti, sestava pa je usmerjena proti ". NETFramework, Version=v4.5" framework. Ta različica okvira je višja od trenutnega ciljnega okvira." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): opozorilo MSB3275: Ni uspelo rešiti glavne reference "Fiddler" zaradi težave z asemblerjem GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "ima posredno odvisnost, s katero je sestava povezana". NETFramework, Version=v4.5" framework. Ta različica okvira je višja od trenutnega ciljnega okvira." 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): napaka CS0246: Ni uspelo najti imena tipa ali imenskega prostora" Fiddler" (ali manjka kakšna referenca za uporabo navodil ali asembler?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): napaka CS0246: Ni uspelo najti imena tipa ali imenskega prostora "Fiddler" (manjka Uporaba direktive ali referenc za skupščino?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): napaka CS0246: Ni uspelo najti imena tipa ali imenskega prostora "IAutoTamper" ( Ali manjka kakšna navodila za uporabo ali asemblerske reference?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): napaka CS0246: Ni bilo najti imena tipa ali imenskega prostora "Session" (manjka Uporaba direktive ali referenc za skupščino?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): napaka CS0246: Ni uspelo najti imena tipa ali imenskega prostora "Session" (manjka Uporaba direktive ali referenc za skupščino?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): napaka CS0246: Ni uspelo najti imena tipa ali imenskega prostora "Session" (manjka Uporaba direktive ali referenc za skupščino?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): napaka CS0246: Ni uspelo najti imena tipa ali imenskega prostora "Session" (manjka). Uporaba direktive ali referenc za skupščino?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): napaka CS0246: Ni uspelo najti imena tipa ali imenskega prostora "Session" (manjka Uporaba direktive ali referenc za skupščino?) ========== Regeneriraj vse: 0 uspe, 1 ne uspe in 0 ========== preskoči
Rešitev je prehod na .NET 4.6.1!
2: Dodajte fiddler.exe referenco v Solution Explorer, moj namestitveni imenik Fiddler je: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, kot je prikazano spodaj:
3: Nastavite minimalno različico Fiddlerja, ki jo vtičnik poganja
Dodajte atribut Fiddler.RequiredVersion v AssemblyInfo.cs datoteko vašega projekta (in kjerkoli drugje v kodi).
4: Ustvari nov UI nadzor za zavihek Fiddler
Dodati morate referenco na sestavo System.Windows.Forms
Začnite tako, da svojemu projektu dodate uporabniški nadzor z imenom TestControl.cs (poljubno), kot je prikazano na spodnji sliki:
Nato na uporabniški nadzor postavite naključni gumb Button in napišite preprosto kodo dogodka klika:
5: Ustvarite nov razred razširitve DemoExtention
Razred DemoExtensionion podeduje vmesnik IAutoTamper,Vmesnik IAutoTamper podeduje vmesnik IFiddlerExtensionVsi vtičniki, ki implementirajo vmesnik IAutoTamper, bodo klicani na vsakem http/https zahtevku ali odgovoru, tako da jih je mogoče uporabiti za prevzem ali spreminjanje podatkov o odgovorih na http/https zahteve.
Opomba: Metoda tega vmesnika se imenuje v ozadju, ne-UI nit, če želite posodobiti UI, lahko uporabite metodo Invoke ali BeginInvoke za posodobitev uporabniškega vmesnika. Vse metode IAutoTamper je mogoče izvesti pred dogodkom OnLoad.
Koda je naslednja:
6: Fiddler naloži vtičnik
Ko programiramo in generiramo, kopirajte obe datoteki fiddler-plugin-demo.dll in fiddler-plugin-demo.pdb pod mapo Debug v mapo scrip{filter}ts v naši namestitveni mapi fiddler.
Moj je: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts mapa
Nazadnje ponovno zaženemo in odpremo Fiddlerja, na zavihku pa vidimo naše kontrole, kot je prikazano spodaj:
7: Omogočiti samodejno namestitev vtičnika v mapo vtičnikov Fiddler
Vsakič, ko spremenimo vtičnik, moramo dll ponovno kopirati v mapo scrip{filter}ts, to težavo lahko rešimo z VS generation dogodkom, ponovno prevedemo generacijo, VS samodejno kopira naš dll v mapo scrip{filter}ts in vnese naslednji ukaz v ukazni vrstici novejše generacije dogodkov:
Kot je prikazano spodaj:
Testirano za normalno uporabo.
Na koncu priložite izvorno kodo:
Turisti, če želite videti skrito vsebino te objave, prosim Odgovoriti
|