He estado buscando una forma de alterar una solicitud XHR realizada en mi navegador y luego volver a reproducirla. Digamos que tengo una solicitud POST completa realizada en mi navegador, y lo único que quiero cambiar es un valor pequeño y luego reproducirlo nuevamente. Esto sería mucho más fácil y rápido de hacer directamente en el navegador.
Busqué en Google un poco y no he encontrado la manera de hacerlo en Chrome o Firefox. ¿Hay alguna forma de hacerlo en cualquiera de esos navegadores, o tal vez en otro?
google-chrome
firefox
browser
xmlhttprequest
madsobel
fuente
fuente
OPTIONS
solicitudes de verificación previa ( ), debe hacer clic en "reproducir" en la solicitud de verificación previa, no en la solicitud final real.Respuestas:
Cromo :
curl
comandoVer captura:
Alternativamente, y en caso de que necesite enviar la solicitud en el contexto de una página web , seleccione "Copiar como recuperación" y edite y envíe el contenido desde el panel de la consola de JavaScript.
Firefox
Firefox permite editar y reenviar XHR directamente desde el panel Red. La captura a continuación es de Firefox 36:
fuente
curl ... > preview.html
luego abra el archivo en el navegador.&& open preview.html
en macOS y el archivo se abre directamente después de la solicitudChrome ahora tiene Copiar como recuperación en la versión 67:
https://developers.google.com/web/updates/2018/04/devtools#fetch
Salida de muestra:
La diferencia es que Copiar como cURL también incluirá todos los encabezados de solicitud (como Cookie y Aceptar) y es adecuado para reproducir la solicitud fuera de Chrome. El
fetch()
código es adecuado para reproducir dentro del mismo navegador.fuente
fetch
comando directamente en la consola de Chrome y reproducir la solicitud..then(r => r.json()).then(json => console.log(json))
Mis dos sugerencias:
El complemento Postman de Chrome + el complemento Interceptor Postman . Más información: Postman Capturing Requests Docs
Si estás en Windows, entonces Fiddler de Telerik es una opción. Tiene una opción de compositor para reproducir solicitudes http, y es gratis.
fuente
Actualizando / completando la respuesta de zszep :
Después de copiar la solicitud como cUrl (bash), simplemente impórtela en la aplicación Postman :
fuente
Para Firefox, el problema se resolvió solo. Tiene implementada la función "Editar y reenviar".
Para la extensión de Tamper de Chrome parece hacer el truco.
fuente
Han pasado 5 años y los desarrolladores de Chrome no ignoraron este requisito esencial.
Si bien no ofrecen ningún método para editar los datos como en Firefox, ofrecen una reproducción completa de XHR.
Esto permite depurar llamadas ajax. "Replay XHR" repetirá toda la transmisión.
fuente
Hay algunas formas de hacer esto, como se mencionó anteriormente, pero en mi experiencia, la mejor manera de manipular una solicitud XHR y reenviarla es usar las herramientas de desarrollo de Chrome para copiar la solicitud como solicitud cURL (haga clic derecho en la solicitud en la pestaña de red ) y simplemente importar a la aplicación Postman (botón de importación gigante en la esquina superior izquierda).
fuente
¡No es necesario instalar extensiones de terceros!
Existe el fragmento de JavaScript , que puede agregar como marcador de navegador y luego activar en cualquier sitio para rastrear y modificar las solicitudes. Parece que:
Para obtener más instrucciones, revise la página de github.
fuente