xhr setrequestheader open data accept google-chrome firefox browser xmlhttprequest

google chrome - setrequestheader - ¿Editar y reproducir XHR Chrome/Firefox, etc.?



xmlhttprequest synchronous (6)

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?


Actualizando / completando la respuesta de zszep :

Después de copiar la solicitud como cUrl (bash), simplemente impórtela en la aplicación Postman :


Chrome ahora tiene Copiar como recuperación en la versión 67:

Copiar como búsqueda

Haga clic con el botón derecho en una solicitud de red y luego seleccione Copiar> Copiar como recuperación para copiar el código equivalente de fetch() para esa solicitud en su portapapeles.

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

Salida de muestra:

fetch("https://.com/posts/validate-body", { credentials: "include", headers: {}, referrer: "https://.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 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 código fetch() es adecuado para reproducir dentro del mismo navegador.


Hay algunas maneras 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 parte superior izquierda).



Para Firefox, el problema se resolvió solo. Tiene implementada la función "Editar y reenviar".

Para Chrome, la extensión de Tamper parece hacer el truco.


Cromo :

  • En el panel Red de devtools, haga clic con el botón derecho y seleccione Copiar como cURL
  • Pegue / edite la solicitud y luego envíela desde un terminal, suponiendo que tenga el comando curl

Ver 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: