Fiddler versiyonu:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 for .NET 4.6.1
Built: 2018年6月27日
1: İlk olarak, yeni bir .NET 4.0 kütüphane projesi oluşturmak için vs2017 kullanıyoruz (Bu yanlış, aşağıda da söyleyeceğim gibi, 4.6.1 bir proje oluşturmanız gerekiyor, yoksa derleme başarısız olur), aşağıda gösterildiği gibi:
Fiddler sürüm nispeten yüksek olduğundan, .NET sürümü için gereksinimler daha yüksek olacak ve .NET 4.0 sürümü derlenirken ve oluşturulurken hata şu şekilde bildirilecektir:
1>------ Tüm yeniden yapılandırma başlatıldı: Proje: fiddler-plugin-demo, Yapılandırma: Herhangi bir CPU ------ 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): uyarı MSB3274: Ana referans "Fiddler" çözümlenemedi çünkü hedef ". NETFramework, Version=v4.6.1". Bu çerçeve versiyonu, mevcut hedef çerçeveden daha yüksektir." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): uyarı MSB3268: Ana referans "Fiddler" çözülemedi, Çünkü mevcut hedef çerçevede ayrıştırılamayan "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" adlı framework montajına dolaylı bağımlılığı vardır. “. NETFramework,Version=v4.0"。 Bu sorunu çözmek için, "Fiddler" referansını kaldırın veya uygulamanın hedefini "System.Net.Http, version=4.0.0.0, culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" içeren framework sürümüne yönlendirin. 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): uyarı MSB3275: Ana referans "Fiddler" çözümlülüğü yapamadı çünkü assembly ile ilgili bir sorun vardı analytics, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "dolaylı bağımlılıklara sahiptir ve assembly yönlendirilmiştir". NETFramework, Version=v4.5" framework. Bu çerçeve versiyonu, mevcut hedef çerçeveden daha yüksektir." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): uyarı MSB3275: Ana referans "Fiddler" çözümlülüğü yapamadı çünkü assembly ile ilgili bir sorun vardı newtonsoft.json, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"dolaylı bağımlılıklara sahiptir ve assembly "aleyhine yönlendirilir". NETFramework, Version=v4.5" framework. Bu çerçeve versiyonu, mevcut hedef çerçeveden daha yüksektir." NETFramework,Version=v4.0"。 1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): uyarı MSB3275: Ana referans "Fiddler" çözümlülüğü yapamadı çünkü assembly ile ilgili bir sorun vardı GA. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "assembly'nin ilişkili olduğu dolaylı bir bağımlılığa sahiptir". NETFramework, Version=v4.5" framework. Bu çerçeve versiyonu, mevcut hedef çerçeveden daha yüksektir." 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: Tip veya namespace adı bulunamadı" Fiddler" (komut veya montaj referansı kullanarak eksik bir şey var mı?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): error CS0246: "Fiddler" tip veya isim alanı adı bulunamadı (eksik direktif veya montaj referansı kullanıyor mu?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): error CS0246: "IAutoTamper" tür veya namespace adı bulunamadı ( Kullanım direktif veya assembly referansı eksik mi var?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): error CS0246: Oturum türü veya namespace adı bulunamadı (eksik direktif veya montaj referansı kullanıyor mu?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): error CS0246: Oturum türü veya isim alanı adı bulunamadı (eksik direktif veya montaj referansı kullanıyor mu?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): error CS0246: Oturum tür veya namespace adı bulunamadı (eksik direktif veya montaj referansı kullanıyor mu?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(34,46,34,53): error CS0246: Oturum tür veya isim alanı adı bulunamadı (eksik.) direktif veya montaj referansı kullanıyor mu?) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\DemoExtention.cs(39,44,39,51): error CS0246: Oturum türü veya isim alanı adı bulunamadı (eksik direktif veya montaj referansı kullanıyor mu?) ========== Hepsini yenile: 0 başarılı, 1 başarısız ve 0 ========== atlanmış
Çözüm .NET 4.6.1'e geçmek!
2: Solution Explorer'a fiddler.exe referansını ekleyin, fiddler kurulum dizinim şu şekildedir: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, aşağıda gösterildiği gibi:
3: Eklentinin çalıştırdığı minimum fiddler sürümünü belirleyin
Fiddler.RequiredVersion niteliğini projenizin AssemblyInfo.cs dosyasına (ve kodunuzun diğer herhangi bir yerine) ekleyin.
4: Yeni bir Fiddler sekmesi arayüzü kontrolü oluştur
System.Windows.Forms assembly dosyasına bir referans eklemeniz gerekiyor
Aşağıdaki görselde gösterildiği gibi projenize TestControl.cs (keyfi) adlı bir kullanıcı kontrolü eklemeye başlayın:
Sonra kullanıcı kontrolünün üstüne rastgele bir Button kontrolü yerleştirin ve basit bir tıklama olay kodu satırı yazın:
5: Yeni bir DemoExtention uzatma sınıfı oluşturun
DemoExtention sınıfı, IAutoTamper arayüzünü devralır,IAutoTamper arayüzü, IFiddlerExtension arayüzünü devralırIAutoTamper arayüzünü uygulayan tüm eklentiler, her http/https isteği veya yanıtında çağrılacak, böylece http/https isteği yanıt verilerini ele geçirmek veya değiştirmek için kullanılabilirler.
Not: Bu arayüzün yöntemi arka planda, arayüz dışı iş parçacığında çağrılır, arayüzü güncellemek istiyorsanız, arayüzü güncellemek için Invoke veya BeginInvoke yöntemini kullanabilirsiniz. IAutoTamper'ın tüm yöntemleri OnLoad olayından önce çalıştırılabilir.
Kod şöyledir:
6: Fiddler eklentiyi yükler
Programlayıp oluşturduktan sonra, Debug dizininin altındaki iki dosyayı ve fiddler-plugin-demo.pdb fiddler-plugin-demo.dll fiddler-plugin-demo.pdb dosyalarını fiddler kurulum dizinimizin scrip{filter}ts klasörüne kopyalayın.
Benim kendi klasörüm: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts klasörü
Son olarak, yeniden başlatıp Fiddler'ı açıyoruz ve aşağıdaki gibi sekmede kontrollerimizi görebiliyoruz:
7: Eklentinin fiddler eklenti dizinine otomatik olarak yerleştirilmesini etkinleştirin
Eklentiyi her değiştirdiğimizde, dll'yi tekrar scrip{filter}ts klasörüne kopyalamamız gerekiyor, bu sorunu VS oluşturma olayı ile çözebiliriz, nesli yeniden derleriz, VS dll'mizi otomatik olarak scrip{filter}ts dizinine kopyalayacak ve sonraki nesil olay komut satırına aşağıdaki komutu dolduracak:
Aşağıda gösterildiği gibi:
Normal kullanım için test edildi.
Son olarak, kaynak kodunu ekleyin:
Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfen Yanıt
|