在Firefox 57中,您可以拦截body of http requests以及回复(使用filterResponseData)。是否可以为网络套接字做同样的事情?
答案 0 :(得分:2)
我认为你不能使用API来查看WebSocket通信。
webRequestAPI仅适用于WebSocket握手,这仍然是普通的HTTP。但是,一旦HTTP升级完成,API将无法再观察到它。
引用相关的bugfix on Chrome:
在WebRequest API中支持WebSocket。
此CL使WebRequest API支持拦截WebSocket握手 请求。由于握手是通过HTTP升级请求完成的,因此 flow适合面向HTTP的WebRequest模型。额外限制适用, 忽略由扩展名触发的WS请求重定向。
请注意,WebRequest API 不拦截:
- 通过已建立的WebSocket连接发送的各个消息。
- WebSocket关闭连接
由于Mozilla通常会尝试按照Chrome扩展程序进行操作,因此我预计Firefox的行为应该相同。