Έκδοση Fiddler:
Progress Telerik Fiddler Web Debugger v5.0.20182.28034 για .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): προειδοποίηση MSB3268: Απέτυχε η επίλυση της κύριας αναφοράς "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, Έκδοση=v4.5" πλαίσιο. Αυτή η έκδοση πλαισίου είναι υψηλότερη από το τρέχον πλαίσιο στόχου». 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, version=11.0.0.0, culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed"έχει έμμεσες εξαρτήσεις και η συνέλευση στρέφεται εναντίον ". NETFramework, Έκδοση=v4.5" πλαίσιο. Αυτή η έκδοση πλαισίου είναι υψηλότερη από το τρέχον πλαίσιο στόχου». 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" επειδή είχε πρόβλημα με τη συναρμολόγηση ΓΣ. analytics.monitor, version=1.0.20182.27266, culture=neutral, PublicKeyToken=2b2cea67609c9510 "έχει μια έμμεση εξάρτηση με την οποία σχετίζεται η συγκρότηση". NETFramework, Έκδοση=v4.5" πλαίσιο. Αυτή η έκδοση πλαισίου είναι υψηλότερη από το τρέχον πλαίσιο στόχου». 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): σφάλμα CS0246: Απέτυχε η εύρεση του ονόματος τύπου ή χώρου ονομάτων" Fiddler" (λείπει κάποια εντολή χρήσης ή αναφορά συναρμολόγησης;) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(1,7,1,14): σφάλμα CS0246: Απέτυχε η εύρεση του ονόματος τύπου ή χώρου ονομάτων "Fiddler" (λείπει χρησιμοποιώντας αναφορά οδηγίας ή συναρμολόγησης;) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(10,34,10,45): σφάλμα CS0246: Αποτυχία εύρεσης του ονόματος τύπου ή χώρου ονομάτων "IAutoTamper" ( Λείπει η χρήση οδηγίας ή αναφοράς συναρμολόγησης;) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(19,44,19,51): σφάλμα CS0246: Απέτυχε η εύρεση του ονόματος τύπου ή χώρου ονομάτων "Session" (λείπει χρησιμοποιώντας αναφορά οδηγίας ή συναρμολόγησης;) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(24,45,24,52): σφάλμα CS0246: Απέτυχε η εύρεση του ονόματος τύπου ή χώρου ονομάτων "Session" (λείπει χρησιμοποιώντας αναφορά οδηγίας ή συναρμολόγησης;) 1>C:\Users\itsvse_pc\Documents\Visual Studio 2017\Projects\fiddler-plugin-demo\fiddler-plugin-demo\DemoExtention.cs(29,45,29,52): σφάλμα 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 στην Εξερεύνηση λύσεων, ο κατάλογος εγκατάστασης του βιολιού μου είναι: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler, όπως φαίνεται παρακάτω:
3: Ορίστε την ελάχιστη έκδοση του βιολιστή που εκτελεί η προσθήκη
Προσθέστε το χαρακτηριστικό Fiddler.RequiredVersion στο αρχείο AssemblyInfo.cs (και οπουδήποτε αλλού στον κώδικά σας) του έργου σας.
4: Δημιουργία νέου στοιχείου ελέγχου περιβάλλοντος εργασίας χρήστη καρτέλας Fiddler
Πρέπει να προσθέσετε μια αναφορά στη συγκρότηση System.Windows.Forms
Ξεκινήστε προσθέτοντας ένα στοιχείο ελέγχου χρήστη στο έργο σας με το όνομα TestControl.cs (αυθαίρετο), όπως φαίνεται στην παρακάτω εικόνα:
Στη συνέχεια, τοποθετήστε ένα τυχαίο στοιχείο ελέγχου κουμπιού πάνω από το στοιχείο ελέγχου χρήστη και γράψτε μια απλή γραμμή κώδικα συμβάντος κλικ:
5: Δημιουργήστε μια νέα κλάση επέκτασης DemoExtention
Η κλάση DemoExtention κληρονομεί τη διεπαφή IAutoTamper,Η διασύνδεση IAutoTamper κληρονομεί τη διασύνδεση IFiddlerExtensionΌλα τα πρόσθετα που υλοποιούν τη διεπαφή IAutoTamper θα καλούνται σε κάθε αίτημα ή απάντηση http/https, ώστε να μπορούν να χρησιμοποιηθούν για την πειρατεία ή την τροποποίηση δεδομένων απόκρισης αιτήματος http/https.
Note: Η μέθοδος αυτής της διεπαφής καλείται στο παρασκήνιο, νήμα χωρίς διεπαφή χρήστη, εάν θέλετε να ενημερώσετε τη διεπαφή χρήστη, μπορείτε να χρησιμοποιήσετε τη μέθοδο Invoke ή BeginInvoke για να ενημερώσετε τη διεπαφή χρήστη. Όλες οι μέθοδοι του IAutoTamper μπορούν να εκτελεστούν πριν από το συμβάν OnLoad.
Ο κωδικός έχει ως εξής:
6: Ο Fiddler φορτώνει το πρόσθετο
Αφού προγραμματίσουμε και δημιουργήσουμε, αντιγράψτε τα δύο αρχεία fiddler-plugin-demo.dll και fiddler-plugin-demo.pdb κάτω από τον κατάλογο Debug στον φάκελο scrip{filter}ts του καταλόγου εγκατάστασης του βιολιού.
Το δικό μου είναι: C:\Users\itsvse_pc\AppData\Local\Programs\Fiddler\scrip{filter}ts folder
Τέλος, κάνουμε επανεκκίνηση και ανοίγουμε το Fiddler και μπορούμε να δούμε τα στοιχεία ελέγχου μας στην καρτέλα, όπως φαίνεται παρακάτω:
7: Ενεργοποιήστε την αυτόματη ανάπτυξη της προσθήκης στον κατάλογο της προσθήκης βιολιστή
Κάθε φορά που τροποποιούμε την προσθήκη, πρέπει να αντιγράψουμε ξανά το dll στο φάκελο scrip{filter}ts, μπορούμε να λύσουμε αυτό το πρόβλημα με το συμβάν δημιουργίας VS, μεταγλωττίζουμε ξανά τη γενιά, το VS θα αντιγράψει αυτόματα το dll μας στον κατάλογο scrip{filter}ts και συμπληρώστε την ακόλουθη εντολή στη γραμμή εντολών συμβάντων μεταγενέστερης γενιάς:
Οπως φαίνεται παρακάτω:
Ελεγμένο για κανονική χρήση.
Τέλος, επισυνάψτε τον πηγαίο κώδικα:
Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώ Απάντηση
|