我一直在寻找一种方法来改变一个XHR请求在我的浏览器,然后重新播放它。

假设我在浏览器中完成了一个完整的POST请求,我唯一想要更改的是一个小值,然后再播放一次。 如果直接在浏览器中完成,这将更容易、更快。

我在谷歌上搜索了一下,还没有找到在Chrome或Firefox中做到这一点的方法。

在这两种浏览器中是否有办法做到这一点?


当前回答

5年过去了,这个基本的要求并没有被Chrome开发人员忽视。 虽然它们不像Firefox那样提供编辑数据的方法,但它们提供了完整的XHR回放。 这允许调试ajax调用。 “Replay XHR”会重复整个传输过程。

其他回答

铬:

在devtools的Network面板中,右键单击,选择“Copy as cURL” 粘贴/编辑请求,然后从终端发送它,假设您有curl命令

参见捕获:

或者,如果你需要在网页的上下文中发送请求,选择“Copy as fetch”并从javascript控制台面板编辑-发送内容。

Firefox:

Firefox允许直接从Network面板编辑和重新发送XHR。下图来自Firefox 36:

我的两点建议:

Chrome的邮递员插件+邮递员拦截插件。更多信息:邮差捕捉请求文档 如果你用的是Windows,那么Telerik的Fiddler是一个选择。它有一个编码器选项来重放http请求,而且是免费的。

可怕的请求

拦截和修改HTTP请求

https://chrome.google.com/webstore/detail/requestly-modify-headers/mdnleldcmiljblolnjhpnblkcekpdkpa https://requestly.io/

5年过去了,这个基本的要求并没有被Chrome开发人员忽视。 虽然它们不像Firefox那样提供编辑数据的方法,但它们提供了完整的XHR回放。 这允许调试ajax调用。 “Replay XHR”会重复整个传输过程。

不需要安装第三方扩展!

存在javascript片段,你可以添加为浏览器书签,然后在任何网站上激活来跟踪和修改请求。它看起来是这样的:

如需进一步说明,请查看github页面。