在Firefox控制台中使用Javascript检索GET请求

6
有没有一种方法可以使用JavaScript检索网页的GET请求的详细信息?我不是指当前页面URL的参数,而是外部GET请求。
例如:如果您使用Firefox打开谷歌的起始页面并切换到开发人员工具,则可以在网络选项卡中看到许多GET请求,例如用于徽标的请求,其链接类似于https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png
我想使用JavaScript在控制台选项卡中检索此URL。是否可以通过附加到DOM(document)或BOM(window)的对象来检索它?
我的问题是:我处于测试自动化环境中,其中不提供开发人员工具。只能使用JavaScript,并且需要检查当前页面发出的GET请求的URL。我只提到了开发人员工具,因为它是复制问题的最简单方式(也是验证解决方案是否有效的最简单方式)。但这更多关于Firefox / HTTP而不是测试自动化本身。

也许这可以帮助:https://dev59.com/3W035IYBdhLWcg3wYfAF - parameciostudio
@parameciostudio 不,我已经看过了。但这不是重点:正如我所说,我不想检索在Firefox中显示的页面的参数,而是由该页面发出并列在网络分析选项卡中的请求。 - Würgspaß
1个回答

1

我不认为这在开发工具中是可能的,但如果使用常规JS,您可以制作一个全局事件处理程序(如果使用jQuery),或者如果使用常规JS,则用一个duckpunched对象替换XmlHttpRequest对象并记录结果,如此处所述。


我喜欢第二种方法,但由于我无法更改服务器,因此无法验证。如果我在浏览器中尝试编辑页面,插入其他脚本并重新发送请求,则会出现有关被阻止的“跨域”请求的警告。 - Würgspaß
你能发布一下脚本和你收到的确切错误信息吗?你确定你不是因为CORS而遇到问题了吗? - NoBugs
是的,这是由于CORS引起的。我的手动发送请求被阻止了,原因是:“缺少CORS头:Access-Control-Allow-Origin丢失”。所请求的服务器不在我的控制范围内,所以我陷入了困境。无论如何,如果时间允许,我将尝试设置一个不同的极简环境来彻底测试这种方法。 - Würgspaß

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接