2009-07-23 12 views
1

J'utilise Fiddler depuis quelques jours maintenant, en étendant CustomRules.js avec ma propre logique. Cependant, le fichier devient assez lourd (c'est assez lourd pour commencer). Je ne suis pas très familier avec .NET ou JScript, mais j'aimerais pouvoir diviser CustomRules.js en plusieurs petits fichiers que je peux simplement inclure dans CustomRules.js. Est-ce possible?Inclusion et stockage persistant dans CustomRules.js de Fiddler

Je trouve également un besoin d'avoir une sorte de stockage persistant à travers les demandes. Y at-il un moyen simple de stocker des valeurs dans CustomRules.js pour une utilisation dans les demandes ultérieures?

Répondre

1

Il n'y a pas de moyen direct de diviser le fichier de règles en d'autres fichiers (je devrais probablement penser à en ajouter un). Ce que vous pouvez faire est de compiler les bibliothèques .NET et les appeler à partir du fichier script, comme décrit ici: http://www.fiddler2.com/Fiddler/dev/UsingCSharp.asp

Je serais intéressé à en apprendre davantage sur vos règles, comme un grand fichier de règles suggère que je pourrais peut-être faire cuire plus utile fonctionnalité directement dans Fiddler. "Stockage persistant sur plusieurs requêtes" - quel type de stockage? Si vous ajoutez simplement une variable globale JavaScript au FiddlerScript, celle-ci sera maintenue entre les requêtes. C'est la manière dont la plupart des options du menu Rules fonctionnent, par exemple. Si au lieu de "across requests" vous voulez dire "across startups/shutdowns Fiddler", alors vous devrez écrire du code pour stocker les valeurs dans un fichier ou dans le registre.

+0

Merci Eric! Les règles personnalisées que j'ai écrites me permettent de modifier les données POST avant l'envoi de la requête et de modifier les données de réponse avant qu'elles ne soient affichées sur le navigateur. Je n'étais pas sûr de regex et d'autres fonctions de manipulation de chaînes étaient disponibles dans d'autres domaines de Fiddler ou comment l'implémenter différemment. Cela ressemble à une variable globale, c'est ce que je recherche en termes de stockage à travers les demandes. J'ai essayé ce que je pensais créer une variable globale, mais cela n'a pas duré entre les demandes. Je n'ai pas pu stocker une valeur d'une demande et la récupérer dans une autre. Quelle est la syntaxe pour cela? – Kevin

+0

inside class Handlers {, ajoutez quelque chose comme public static var sUA: String = "Mystring"; Vous pouvez ensuite modifier la valeur sUA dans l'une des fonctions. Gardez à l'esprit que Fiddler est multithread et votre script s'exécutera dans de nombreux threads différents en parallèle. Si vous écrivez des règles compliquées, vous pouvez envisager d'utiliser une IFiddlerExtension, qui vous permet d'écrire tout votre code en C# et d'exploiter plus facilement la richesse du framework .NET. http://www.fiddler2.com/fiddler/dev/IFiddlerExtension.asp – EricLaw

+0

FWIW, Fiddler 2.2.6.4+ supporte un nouveau système de préférences qui permet la persistance automatique des paramètres. Voir http://fiddler.wikidot.com/prefs pour plus d'informations. – EricLaw