Как перехватить данные WebSocket? - PullRequest
0 голосов
/ 28 апреля 2018

В Firefox 57 вы можете перехватывать тело http-запросов , а также ответы (используя filterResponseData ). Можно ли сделать то же самое для веб-сокетов?

1 Ответ

0 голосов
/ 02 мая 2018

Я не думаю, что вы можете использовать API для просмотра связи WebSocket.

WebRequestAPI применяется только к рукопожатию WebSocket, которое по-прежнему является обычным HTTP. Но как только обновление HTTP будет завершено, оно больше не будет доступно API.

Цитировать из связанного исправления в Chrome :

Поддержка WebSocket в API WebRequest.

Этот CL обеспечивает поддержку API WebRequest для перехвата рукопожатия WebSocket. запрос. Так как рукопожатие выполняется посредством запроса на обновление HTTP, его поток вписывается в HTTP-ориентированную модель WebRequest. Применяются дополнительные ограничения, что перенаправления запросов WS, запускаемые расширениями, игнорируются.

Обратите внимание, что API WebRequest не перехватывает :

  • Отдельные сообщения, отправленные через установленное соединение WebSocket.
  • Соединение WebSocket, закрывающее

Поскольку Mozilla обычно пытается следовать расширению Chrome, я ожидаю, что Firefox должен вести себя так же.

...