@jslby

Как подключиться к существующему Websocket?

Есть сайт, который написан на React + obfurscator
Сайт устанавливает соединение через websocket.
Могу ли я отправлять запросы и получать с него ответы не зная переменной, которая создала это соединение? Возможно он вообще создан через анонимную функцию. Просто интересно, реально ли это или нет? Если реально, можете показать пример?

P.S. Создавать новое соединение не хочу по причине, потому что там отправляются куча токенов при подключении, так же поддержание соединения.
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
@Konf
Редактирую ответы на 2 + 2 по 4 раза
Нужно переназначить встроенный класс вэбсокета.
Пример рабочего кода, который следует применить к странице перед открытием вэбсокета, приложил ниже.
Если вэбсокет открывается на странице сразу, вам понадобится расширение типа Tampermonkey для внедрения скрипта как можно раньше.

window.WebSocketCopy = window.WebSocket;
window.WebSocket = function(a,b,c) { // Притворяемся WebSocket
  // В a,b,c - аргументы, которые обычно передаются в экземпляр класса
  // Пример: a = "ws://35.26.64.245";

  // Создаём реальный экземпляр
  const  socketInstance = new WebSocketCopy(a,b,c);

  // Дальше делаем всё что нам нужно с инстанцией вэбсокета
  socketInstance.addEventListener('message', function (event) {
    console.log(event);
  });

  // И возвращаем обработанный результат
  return socketInstance;
}


Где-то слышал, что переназначение встроенных классов может повлиять на производительность кода, поэтому применять такой трюк советую только для отладки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы