2011-01-12 2 views
9

est-il possible avec javascript d'écouter et de capturer les requêtes HTTP sortantes? (Par exemple, les appels AJAX). Un peu comme firebug, etcCapture de requêtes HTTP avec Javascript

+0

Pour clarifier, ce que je veux faire est d'exécuter un site Web dans un iframe et avoir mon JS écouter pour les demandes http sortantes qui sont envoyées par mon navigateur. –

+0

Vous ne serez pas en mesure de surveiller l'ensemble du navigateur en utilisant le contenu JavaScript. Cela violerait la politique de la même origine. Pour ce faire, vous devez exécuter dans le chrome du navigateur (y compris en tant qu'extension). –

+0

Quel accès vous donne une extension que vous ne pouvez pas faire via un javascript direct? Merci :) –

Répondre

5

Bien sûr, vous pouvez suivre les requêtes AJAX sur vos propres pages. Créez un wrapper pour le constructeur XMLHttpRequest qui enregistre les informations qui vous intéressent.

EDIT: une extension permet d'observer les opérations internes du navigateur. Par exemple, vous pouvez voir dans Firebug's source qu'il observe tous les HTTP topics de Firefox. Il s'agit de "http-on-modify-request", de "http-on-examine-response" et de "http-on-exam-cached-response".

+0

Matthew, si vous pouviez, aider à répondre: http://stackoverflow.com/questions/18461821 –

5

Non, pas comme firebug. La chose la plus proche que vous pouvez faire, si vous utilisez un framework tel que jQuery ou Microsoft AJAX.NET, vous pouvez être averti lorsqu'une requête AJAX est émise à travers ce framework spécifique.

Pour jQuery, c'est .ajaxStart()

Il y a des tas de demandes que ce ne sera pas prise, mais, comme tous les actifs demandés (fichiers de script, images, etc.)

+0

Cela ressemble à la réponse la plus correcte à moi: surtout si vous prenez un état d'esprit axé sur la sécurité. –

+0

David, peut-être que vous pourriez aider à répondre: http://stackoverflow.com/questions/18461821 –

2

Si vous voulez capturer toutes les demandes HTTP, je suggère d'utiliser Charles. C'est un outil génial qui fonctionne comme proxy et donne des résultats sous une forme lisible par l'homme.

Affiche la demande, la réponse, la période. La demande est affichée avec en-têtes. La réponse est affichée avec les en-têtes et le contenu. Ça vaut le coup d'essayer.