【问题标题】:How do I console.log POST requests with my chrome extension如何使用我的 chrome 扩展来 console.log POST 请求
【发布时间】:2018-01-23 00:59:08
【问题描述】:

我正在尝试使用我的 chrome 扩展来 console.log POST 请求,但不知道该怎么做,谁能给我一个例子?我查看了 chrome 扩展 API,但似乎仍然无法使用它

【问题讨论】:

标签: javascript google-chrome-extension


【解决方案1】:

在 Google Chrome 中,POSTGET 等浏览器请求在检查器的 Network 选项卡中可见。

截图来自Chrome Devtools Overview:

如果您正在寻找一种自然的方式来对浏览器请求进行 Javascript 挂钩(例如将它们注销),那么您将遇到更多问题,因为 Javascript 没有 native 挂钩方式出于安全原因,处理浏览器规模的请求。

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

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

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

下面是一个监听onBeforeRequest事件的例子:

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

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

您必须在extension manifest 中声明“webRequest”权限 使用 Web 请求 API,以及任何主机的主机权限 您想访问谁的网络请求。

请注意,由于网页资源加载(HTTP/1.x 或 HTTP/2.0)的有序或异步性质,您不能保证捕获所有浏览器发出的请求发生在您的 Javascript 挂钩设置之前。

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

另一种策略是在服务器上删除请求检测并通知客户端他发送了请求(例如通过 Websockets/队列)。它仅适用于针对您管理的域的请求,而且听起来有点昂贵的解决方案。这完全取决于您的最终需求。

【讨论】:

    猜你喜欢
    • 2014-07-23
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    相关资源
    最近更新 更多