编辑和重播XHR chrome / firefox等?

时间:2015-02-27 22:03:36

标签: google-chrome firefox browser xmlhttprequest

我一直在寻找一种方法来改变我在浏览器中发出的XHR请求,然后再次重播。 假设我在浏览器中完成了一个完整的POST请求,我唯一想要更改的是一个小值,然后再次播放。直接在浏览器中执行操作会更容易,更快捷。

我已经谷歌了,并且还没有找到在Chrome或Firefox中执行此操作的方法。有没有办法在这些浏览器中的任何一个浏览器中执行,或者可能是另一个浏览器?

9 个答案:

答案 0 :(得分:113)

Chrome:

  • 在devtools的“网络”面板中,右键单击并选择复制为cURL
  • 粘贴/编辑请求,然后从终端发送,假设您有curl命令

见捕获:

enter image description here

或者,如果您需要在网页上下文中发送请求,请选择"复制为提取" 并编辑发送来自javascript控制台面板的内容。


Firefox:

Firefox允许直接从“网络”面板编辑和重新发送XHR。以下捕获来自Firefox 36:

enter image description here

答案 1 :(得分:16)

我的两点建议:

  1. Chrome's Postman plugin + Postman Interceptor Plugin。更多信息:Postman Capturing Requests Docs

  2. 如果你在Windows上,那么Telerik的Fiddler就是一个选择。它有一个用于重放http请求的composer选项,它是免费的。

答案 2 :(得分:14)

Chrome现在在版本67中复制为提取

  

复制为提取

     

右键点击网络请求,然后选择复制>复制为提取,将该请求的fetch() - 等效代码复制到剪贴板。

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

示例输出:

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"
});

不同之处在于 Copy as cURL 还将包含所有请求标头(例如Cookie和Accept),并且适合在Chrome之外重播请求。 fetch()代码适合在同一浏览器内重播。

答案 3 :(得分:8)

更新/完成zszep answer

将请求复制为cUrl(bash)后,只需将其导入Postman App

enter image description here

答案 4 :(得分:2)

5年过去了,Chrome开发者并没有忽略这一基本要求。
尽管它们没有像Firefox中那样提供编辑数据的方法,但它们提供了完整的XHR重播。
这允许调试ajax调用。
enter image description here
“重放XHR”将重复整个传输。

答案 5 :(得分:1)

对于Firefox,问题解决了。它有"编辑和重新发送"功能实现。

对于Chrome Tamper extension似乎可以解决问题。

答案 6 :(得分:0)

如上所述,有几种方法可以执行此操作,但是以我的经验,处理XHR请求并重新发送的最佳方法是使用chrome dev工具将请求复制为cURL请求(在网络标签),然后简单地导入Postman应用程序(左上方的巨型导入按钮)。

答案 7 :(得分:0)

无需安装第三方扩展!

存在javascript-snippet,您可以将其添加为作为浏览器书签,然后在任何站点上激活以跟踪和修改请求。看起来像:

enter image description here

有关更多说明,请查看github页面。

答案 8 :(得分:0)

基于Microsoft Chromium的Edge作为实验功能在“网络”选项卡中支持“编辑和重放”请求:

enter image description here

有关该功能及其启用方式的更多详细信息,请found here