2011-01-12 31 views
9

¿es posible con javascript escuchar y capturar solicitudes HTTP salientes? (Por ejemplo, llamadas AJAX). Algo así como Firebug, etc.Capturar solicitudes HTTP con Javascript

+0

Para aclarar, lo que quiero hacer es ejecutar un sitio web en un iframe y hacer que mi JS escuche las solicitudes HTTP salientes que se envían a través de mi navegador. –

+0

No podrá monitorear todo el navegador usando el contenido JavaScript. Eso violaría la misma política de origen. Para hacer eso, debe ejecutar dentro del cromo del navegador (incluida como una extensión). –

+0

¿Qué acceso le otorga una extensión que no puede hacer mediante javascript directo? Gracias :) –

Respuesta

5

Claro, puede rastrear solicitudes AJAX en sus propias páginas. Cree un contenedor para el constructor XMLHttpRequest que registre la información que le interesa.

EDITAR: Una extensión le permite observar las operaciones internas del navegador. Por ejemplo, puede ver en Firebug's source que observa todos los HTTP topics de Firefox. Estos son "http-on-modify-request", "http-on-examine-response" y "http-on-examine-cached-response".

+0

Matthew, si puedes, ayuda a responder: http://stackoverflow.com/questions/18461821 –

5

No, no como firebug. Lo más cercano que puede hacer, si está utilizando un marco como jQuery o Microsoft AJAX.NET, puede recibir una notificación cuando se emita una solicitud AJAX a través de ese marco específico.

para jQuery, eso es .ajaxStart()

hay un montón de peticiones que esto no será problema, sin embargo, como todos los bienes solicitados (archivos de comandos, imágenes, etc.)

+0

Esta parece ser la respuesta más correcta para mí: especialmente si tomas una mentalidad de seguridad. –

+0

David, tal vez podrías ayudar a responder: http://stackoverflow.com/questions/18461821 –

2

Si desea capturar todas las solicitudes HTTP, sugeriría usar Charles. Es una herramienta increíble que funciona como proxy y da como resultado una forma legible para los humanos.

Muestra solicitud, respuesta, diagrama de tiempo. La solicitud se muestra con encabezados. La respuesta se muestra con los encabezados junto con el contenido. Vale la pena intentarlo.

Cuestiones relacionadas