Socket.io-client: Как установить заголовки запроса при подключении к серверу?

Созданный на 9 июл. 2014  ·  13Комментарии  ·  Источник: socketio/socket.io-client

как установить пользовательские заголовки запросов при подключении socket.io с использованием js-клиента

Feature request

Самый полезный комментарий

@muhammadnasr Передайте параметры во втором аргументе, первым из которых будет URL-адрес:

const socket = io("/your-url-here", {
  transportOptions: {
    polling: {
      extraHeaders: {
        'x-clientid': 'abc'
      }
    }
  }
});

Все 13 Комментарий

Мне это тоже нужно... Вы нашли какое-нибудь решение?

я также заинтересован в этом.

Я видел, как это сделать на Java socket.io-client, но не на JS.

Не будет работать со всеми видами транспорта.
Если вы используете опрос XHR/Ajax, это возможно, но не для WebSockets на HTML5.

http://stackoverflow.com/questions/4361173/http-headers-in-websockets-client-apic

Я ищу решение.

Чего вы пытаетесь достичь? Вы не можете использовать параметры URL?

Я пытаюсь написать тест, чтобы проверить, можно ли перехватывать веб-сокеты до и после промежуточного программного обеспечения аутентификации.

Однако для успешной аутентификации мне нужно отправить сеанс cookie вместе с первоначальным запросом на обновление http. Он работает в браузере, я просто хочу, чтобы он работал и в моих тестах узлов.

Есть ли прогресс в этом? Или какой-нибудь намек, как получить/установить cookie-session/sessionId в socket.io?

У меня действительно получилось. Подробная информация о первоначальном HTTP-рукопожатии доступна по адресу socket.request . Там вы найдете сессию. Например, используя промежуточное ПО socket.io:

io.use(function(socket, next){
    if (!socket.request.session){
      console.log('no session in socket')
      socket.disconnect();
    }
    next();
  });

Начиная с версии 2.0.0 , теперь вы можете устанавливать заголовки запросов с опцией extraHeaders :

const socket = io({
  transportOptions: {
    polling: {
      extraHeaders: {
        'x-clientid': 'abc'
      }
    }
  }
});

Как я могу добавить URL к этому примеру
константный сокет = io({
TransportOptions: {
опрос: {
дополнительные заголовки: {
'x-clientid': 'abc'
}
}
}
});

@muhammadnasr Передайте параметры во втором аргументе, первым из которых будет URL-адрес:

const socket = io("/your-url-here", {
  transportOptions: {
    polling: {
      extraHeaders: {
        'x-clientid': 'abc'
      }
    }
  }
});

Замечательно.

У вас есть пример кода для установки заголовков для iOS и Android SDK?

Большое спасибо.

Можно ли динамически устанавливать заголовки?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

catamphetamine picture catamphetamine  ·  3Комментарии

zappfinger picture zappfinger  ·  5Комментарии

hyperknot picture hyperknot  ·  6Комментарии

najibghadri picture najibghadri  ·  7Комментарии

crazyyi picture crazyyi  ·  5Комментарии