Modifier et rejouer XHR chrome / firefox etc?

J’ai cherché un moyen de modifier une requête XHR effectuée dans mon navigateur et de la relire ensuite. Disons que j’ai une requête POST complète effectuée dans mon navigateur, et que la seule chose que je veux changer est une petite valeur, puis rejoue-la. Ce serait beaucoup plus facile et plus rapide à faire directement dans le navigateur.

J’ai fait un peu de recherche sur Google et je n’ai pas trouvé le moyen de le faire dans Chrome ou Firefox. Y a-t-il un moyen de le faire dans l’un de ces navigateurs, ou peut-être dans un autre?

Chrome:

Une façon de faire cela dans Chrome pourrait consister à copier la requête en tant que cURL dans le panneau Réseau des outils de développement et à la relire avec vos modifications dans un terminal, en supposant que vous ayez la commande curl . Voir capture:

entrer la description de l'image ici

Si vous recherchez un “workflow tout-dans-navigateur”, vous pouvez installer l’extension nommée “Terminal Devtools” qui intégrera votre terminal local dans le navigateur.

Firefox:

Firefox a intégré cela. Vous pouvez effectuer vos modifications et renvoyer le XHR directement depuis le panneau Réseau. La capture ci-dessous est tirée de Firefox 36:

entrer la description de l'image ici

Mes deux suggestions:

  1. Le plugin Postman de Chrome + le plugin Postman Interceptor . Plus d’infos: Postman Capture des demandes de documents

  2. Si vous êtes sous Windows, Telerik’s Fiddler est une option. Il a une option compositeur pour relire les requêtes http, et c’est gratuit.

Chrome a maintenant Copy comme fetch dans la version 67:

Copier comme chercher

Cliquez avec le bouton droit de la souris sur une requête réseau, puis sélectionnez Copier> Copier en tant que fetch() pour copier le code équivalent à la requête fetch() pour cette requête dans votre presse-papiers.

https://developers.google.com/web/updates/2018/04/devtools#fetch

Sortie de l’échantillon:

 fetch("https://stackoverflow.com/posts/validate-body", { credentials: "include", headers: {}, referrer: "https://stackoverflow.com/", referrerPolicy: "origin", body: "body=Chrome+now+has+_Copy+as+fetch_+in+version+67%3A%0A%0A%3E+Copy+as+fetch%0ARight-click+a+network+request+then+select+**Copy+%3E+Copy+As+Fetch**+to+copy+the+%60fetch()%60-equivalent+code+for+that+request+to+your+clipboard.%0A%0A&oldBody=&isQuestion=false", method: "POST", mode: "cors" }); 

La différence réside dans le fait que Copy as cURL inclura également tous les en-têtes de requête (tels que Cookie et Accept) et convient à la relecture de la requête en dehors de Chrome. Le code fetch() est adapté à la relecture à l’intérieur du même navigateur.

Pour Firefox, le problème était résolu. La fonctionnalité “Modifier et renvoyer” est implémentée.

Pour Chrome, l’ extension d’autoprotection semble faire l’affaire.

Il y a plusieurs façons de le faire, comme mentionné ci-dessus, mais d’après mon expérience, le meilleur moyen de manipuler une requête XHR consiste à utiliser les outils de développement chrom pour copier la requête en requête cURL (clic droit sur l’onglet ) et simplement importer dans l’application Postman (bouton d’importation géant en haut à gauche).