如何拦截WebSocket数据?

时间:2018-04-28 13:58:02

标签: firefox-webextensions

在Firefox 57中,您可以拦截body of http requests以及回复(使用filterResponseData)。是否可以为网络套接字做同样的事情?

1 个答案:

答案 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的行为应该相同。