firefox-addon-webextensions - 如何拦截 WebSocket 数据?
问题描述
在 Firefox 57 中,您可以拦截http 请求的主体以及响应(使用filterResponseData)。是否可以对 Web 套接字执行相同的操作?
解决方案
我不认为你可以使用 API 来查看 WebSocket 通信。
webRequestAPI 仅适用于 WebSocket 握手,仍然是普通的 HTTP。但是一旦 HTTP 升级完成,API 将无法再观察到它。
在 WebRequest API 中支持 WebSocket。
此 CL 使 WebRequest API 支持拦截 WebSocket 握手请求。由于握手是通过 HTTP 升级请求完成的,因此其流程适合面向 HTTP 的 WebRequest 模型。附加限制适用,即忽略由扩展触发的 WS 请求重定向。
请注意,WebRequest API 不会拦截:
- 通过已建立的 WebSocket 连接发送的单个消息。
- WebSocket 关闭连接
由于 Mozilla 通常会尝试遵循 Chrome 扩展,因此我希望 Firefox 的行为应该相同。
推荐阅读
- symfony - 使用 Webpack encore 构建资产 - 错误:使用 configureFilenames #978 时删除 _tmp_copy 的 JS 条目时出现问题
- python - XYZ 类型的对象不是 JSON 可序列化的
- django - django 中的异步函数,它返回一个 json 响应
- python - 试图绘制一个随机函数,但它似乎不是很随机
- python - 用于存储代理路径概率的良好数据结构
- c# - 了解 Distinct() 如何与实体框架一起工作
- puppeteer - 如何防止 Akamai 检测到 puppeteer?
- angular - *hasPermission 指令的角度反应形式模型数据
- r - cvAUC 错误:未使用的参数(label.ordering = NULL)
- javascript - 如何在 Vue.JS 中的交易视图图表上创建对象