Socket.io-client: Bagaimana cara mengatur header permintaan saat terhubung ke server?

Dibuat pada 9 Jul 2014  ·  13Komentar  ·  Sumber: socketio/socket.io-client

cara mengatur tajuk permintaan khusus saat menghubungkan socket.io menggunakan klien js

Feature request

Komentar yang paling membantu

@muhammadnasr Berikan opsi dalam argumen kedua, yang pertama adalah url:

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

Semua 13 komentar

Saya juga membutuhkan itu... Apakah Anda menemukan solusi?

saya juga tertarik dengan ini.

Saya telah melihat bagaimana melakukannya di Java socket.io-client tetapi bukan yang JS

Tidak akan Bekerja dengan semua metode transportasi.
Jika Anda menggunakan XHR/Ajax Polling, itu mungkin, tetapi tidak untuk WebSockets pada HTML5.

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

Saya sedang mencari solusi untuk.

Apa yang Anda coba capai? Tidak bisakah Anda menggunakan parameter url?

Saya mencoba menulis tes untuk memverifikasi apakah soket web dapat disadap sebelum dan sesudah otentikasi middleware.

Namun, agar berhasil mengautentikasi, saya perlu mengirim sesi cookie bersama dengan permintaan peningkatan http awal. Ini berfungsi di browser, saya hanya ingin itu berfungsi di tes simpul saya juga.

Apakah ada kemajuan dalam hal ini? Atau adakah petunjuk bagaimana cara mendapatkan/mengatur sesi cookie/sesiId di dalam socket.io?

Saya benar-benar membuatnya bekerja. Detail jabat tangan http awal tersedia di socket.request . Di sana, Anda akan menemukan sesi. Misalnya, menggunakan middleware socket.io:

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

Sejak versi 2.0.0 , Anda sekarang dapat mengatur header permintaan dengan opsi extraHeaders :

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

Bagaimana saya bisa menambahkan url ke contoh ini?
const soket = io({
opsi transportasi: {
jajak pendapat: {
ekstraHeader: {
'x-clientid': 'abc'
}
}
}
});

@muhammadnasr Berikan opsi dalam argumen kedua, yang pertama adalah url:

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

Itu keren.

Apakah Anda memiliki kode contoh untuk menyetel tajuk untuk iOS dan Android SDK?

Terima kasih banyak.

Bisakah tajuk diatur secara dinamis?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat