如何使用我的chrome扩展程序console.log POST请求

时间:2017-08-15 05:56:41

标签: javascript google-chrome-extension

我尝试使用我的Chrome扩展程序来调试.log POST请求,但无法弄清楚如何操作,有人能给我举个例子吗?我已经查看了Chrome扩展API,但似乎无法实现它

1 个答案:

答案 0 :(得分:1)

在Google Chrome浏览器中,POSTGET等浏览器请求会显示在检查器的Network标签中。

Chrome Devtools Overview的屏幕截图:

enter image description here

如果您正在寻找一种自然的方式来对浏览器请求进行Javascript挂钩(例如将其记录下来),那么您将遇到更多问题,因为Javascript没有原生方式来挂钩出于安全原因,按浏览器规模提出请求。

但是,如果您可以使用专用扩展程序来完成作业,则可以查看Chrome的webRequest扩展程序:

https://developer.chrome.com/extensions/webRequest

  

使用chrome.webRequest API观察和分析流量并拦截,阻止或修改正在进行的请求。

以下是收听onBeforeRequest事件的示例:

  chrome.webRequest.onBeforeRequest.addListener(callback, filter, opt_extraInfoSpec);

请注意,存在安全要求和限制:

  

您必须声明" webRequest" extension manifest中的权限   使用Web请求API以及任何主机的主机权限   您要访问的网络请求。

请注意,由于网页资源加载(HTTP / 1.x或HTTP / 2.0)的有序或异步性质,您无法保证抓住所有浏览器发出的请求发生之前你的Javascript钩子已经设置好了。

最后,您有一些技巧,例如those referenced here,可通过Javascript代理机制检测AJAX调用。

另一种策略是将请求检测在服务器上逐出,并通知客户端他发送了一个请求(例如通过Websockets /队列)。它只适用于您管理的域上的请求,这听起来像是一个昂贵的解决方案。这完全取决于你的最终需求。