mad*_*bel 111 browser firefox google-chrome xmlhttprequest
我一直在寻找一种方法来改变我的浏览器中的XHR请求,然后再次重播.假设我在浏览器中完成了一个完整的POST请求,我唯一想要更改的是一个小值,然后再次播放.直接在浏览器中执行此操作会更容易,更快捷.
我已经谷歌了一下,并没有找到办法在Chrome或Firefox中做到这一点.有没有办法在这些浏览器中的任何一个或其他浏览器中执行此操作?
Mic*_*zos 141
Chrome:
在Chrome中执行此操作的一种方法是将请求作为cURL复制到开发人员工具的"网络"面板中,并使用终端中的编辑重播它,假设您拥有该curl
命令.看到捕获:
如果您正在寻找"全浏览器工作流程",您可以安装名为"Devtools terminal"的扩展程序,它将您的本地终端嵌入到浏览器中.
Firefox:
Firefox有嵌入式功能.您可以直接从"网络"面板进行编辑并重新发送XHR.以下捕获来自Firefox 36:
Jos*_*Lee 22
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"
});
Run Code Online (Sandbox Code Playgroud)
不同之处在于Copy as cURL还将包含所有请求标头(例如Cookie和Accept),并且适合在Chrome之外重播请求.该fetch()
代码适用于在同一浏览器内重播.
zsz*_*zep 16
我的两点建议:
如果你在Windows上,那么Telerik的Fiddler就是一个选择.它有一个用于重放http请求的composer选项,它是免费的.
Ari*_*rik 13
基于 Microsoft Chromium 的 Edge 支持网络选项卡中的“编辑和重播”请求作为实验性功能:
为了启用该选项,您必须“启用实验功能”。
Control+ Shift+ I(Windows、Linux)或Command+ Option+ I(macOS)
,然后勾选“启用网络控制台”旁边的复选框。
更新(2023 年 4 月):这不再是 Edge 中的实验性功能,默认情况下可用