Socket.io-client: サーバーに接続するときにリクエストヘッダーを設定するにはどうすればよいですか?

作成日 2014年07月09日  ·  13コメント  ·  ソース: socketio/socket.io-client

socket.ioを接続するときにカスタムリクエストヘッダーを設定する方法jsクライアントを使用する

Feature request

最も参考になるコメント

@ muhammadnasr2番目の引数でオプションを渡します。最初の引数はURLです。

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

全てのコメント13件

私もそれが必要です...あなたは何か解決策を見つけましたか?

私もこれに興味があります。

私はJavasocket.io-clientでそれを行う方法を見てきましたが、JSのものではありません

すべてのトランスポート方法で機能するわけではありません。
XHR / Ajaxポーリングを使用している場合、それは可能ですが、HTML5のWebSocketsでは不可能です。

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

私はの解決策を探しています。

何を達成しようとしていますか? URLパラメータを使用できませんか?

認証ミドルウェアの前後にWebSocketを盗聴できるかどうかを検証するテストを作成しようとしています。

ただし、正常に認証するには、最初のhttpアップグレードリクエストと一緒にCookieセッションを送信する必要があります。 ブラウザで動作します。ノードテストでも動作するようにしたいだけです。

これについて何か進展はありますか? または、socket.io内でcookie-session / sessionIdを取得/設定する方法のヒントはありますか?

私は実際にそれを動かしました。 最初の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を追加するにはどうすればよいですか
const socket = io({
TransportationOptions:{
ポーリング:{
extraHeaders:{
'x-clientid': 'abc'
}
}
}
});

@ muhammadnasr2番目の引数でオプションを渡します。最初の引数はURLです。

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

それは素晴らしいことです。

iOSおよびAndroidSDKのヘッダーを設定するためのサンプルコードはありますか?

どうもありがとう。

Android: https

ヘッダーを動的に設定できますか?

このページは役に立ちましたか?
0 / 5 - 0 評価