Я использую решения, представленные в следующих разделах, для проверки трафика (сообщений) WebSockets на веб-странице, которой я не владею (исключительно для учебных целей):
Как это:
(function(){
var ws = window.WebSocket;
window.WebSocket = function (a, b, c) {
var that = c ? new ws(a, b, c) : b ? new ws(a, b) : new ws(a);
that.addEventListener('open', console.info.bind(console, 'socket open'));
that.addEventListener('close', console.info.bind(console, 'socket close'));
that.addEventListener('message', console.info.bind(console, 'socket msg'));
return that;
};
window.WebSocket.prototype=ws.prototype;
}());
Проблема с предоставленными решениями заключается в том, что они прослушивают только 1 из 3 подключений WebSocket ("wss: // ..."). Я могу видеть в консоли сообщения, которые Я получаю или отправляю, но только для одного соединения. Что-то мне не хватает? Возможно ли, что два других сервиса отличаются друг от друга и запрещают использование метода расширения прототипа?
p.s. Я не буду указывать URL-адрес веб-ресурса, на котором я тестирую, чтобы избежать возможных запретов или юридических вопросов.