2017-08-15 120 views
1

我想CONSOLE.LOG我的Chrome扩展POST请求,但无法弄清楚如何做到这一点,任何人都可以给我一个例子吗?我已经看过Chrome扩展API,但仍然看不到它我如何CONSOLE.LOG与我的Chrome扩展POST请求

+0

是你想创建一个扩展,“监听”的要求,并记录的东西,当它嗅着一个出来?如果是这样,那么请阅读[webRequest的文档](https://developer.chrome.com/extensions/webRequest) - 这是直接的 - 甚至有一个链接到该页面上的示例 –

+0

我想这个答案可以帮助你[如何从控制台交请求(https://stackoverflow.com/questions/20564242/how-to-print-the-data-from-post-request-on-console)打印数据 –

+0

[何处读取从控制台消息背景。js在Chrome扩展?](https://stackoverflow.com/a/10258029) – wOxxOm

回答

1

在谷歌浏览器中,浏览器请求(如POSTGET)在检查器的Network选项卡中可见。

截图来自Chrome Devtools Overview

enter image description here

如果你正在寻找一种自然的方式来使浏览器的请求(如记录出来)一个Javascript钩子,你将有更多的问题,因为有为Javascript没有本地方式勾上,在浏览器的规模要求,出于安全原因。

但如果你是怎么运用作业的专用扩展,你可以看看webRequest Chrome扩展程序:

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

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

这里的监听onBeforeRequest事件的例子:

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

当心,有安全要求和限制:

您必须声明在extension manifest 了 “的WebRequest” 权限使用网络请求API以及其网络请求要访问的任何主机 的主机权限。

注意的是,由于订购或网页资源的异步加载性质(HTTP/1.x的或HTTP/2.0),你都不能保证赶上由发生浏览器所做的所有请求在之前设置了你的Javascript钩子。

最后,你有一些技巧,比如those referenced here检测AJAX通过JavaScript proxification机制调用。

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

相关问题