我一直在寻找一种方法来改变我的浏览器中的XHR请求,然后再次重播。假设我在浏览器中完成了一个完整的POST请求,我唯一想要更改的是一个小值,然后再次播放。直接在浏览器中执行此操作会更容易,更快捷。
我已经谷歌了一下,并没有找到办法在Chrome或Firefox中做到这一点。有没有办法在这些浏览器中的任何一个或其他浏览器中执行此操作?
Chrome:
curl
命令看到捕获:
或者,如果您需要在网页的上下文中发送请求,请选择“复制为提取”并编辑 - 从javascript控制台面板发送内容。
Firefox:
Firefox允许直接从“网络”面板编辑和重新发送XHR。以下捕获来自Firefox 36:
我的两点建议:
Chrome现在在版本67中具有Copy as fetch:
复制为提取
右键单击网络请求,然后选择“复制”>“复制为提取”,将该请求的
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()
代码适合在同一浏览器内重播。
对于Firefox,问题解决了。它实现了“编辑和重新发送”功能。
对于Chrome Tamper extension似乎可以做到这一点。
如上所述,有几种方法可以做到这一点,但根据我的经验,操作XHR请求和重新发送的最佳方法是使用chrome dev工具将请求复制为cURL请求(右键单击网络选项卡中的请求) )并简单地导入Postman应用程序(左上角的巨大导入按钮)。