Задать вопрос
@jslby

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

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

P.S. Создавать новое соединение не хочу по причине, потому что там отправляются куча токенов при подключении, так же поддержание соединения.
  • Вопрос задан
  • 109 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 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;
}


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

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 12:39
1000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект