Sambungkan klien ws Node melalui ejen HTTP proksi
Serahkan HttpsProxyAgent kepada pembina ws Node supaya jabat tangan WebSocket melalui proksi hadapan.
Pakej ws Node menerima ejen HTTP dalam pilihan sambungannya. Untuk proksi hadapan, serpihan modul ES boleh menggunakan HttpsProxyAgent:
import WebSocket from 'ws';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://proxy.example.net:8080');
const socket = new WebSocket('wss://socket.example.net/events', {
agent,
});
socket.on('error', error => {
console.error(error.message);
});
Ini menganggap kedua-dua pakej sudah menjadi bahagian aplikasi. URL WebSocket memilih perkhidmatan; URL ejen memilih proksi. Alamat HTTP daripada senarai proksi HTTP boleh mengisi URL ejen untuk ujian WSS awam yang dibenarkan tanpa kelayakan proksi; semak akses ke titik akhir perkhidmatan sebenar.
HttpsProxyAgent membina terowong HTTP CONNECT dan menyerahkan pengangkutan yang bersambung kepada klien. Ia menyokong sambungan WebSocket dan permintaan HTTPS, jadi aplikasi tidak perlu membina pertukaran CONNECT sendiri.
Teruskan dengan pengendalian open, message dan close biasa dalam aplikasi. Peristiwa open menandakan jabat tangan WebSocket selesai pada laluan yang dipilih; mencipta objek JavaScript sahaja belum menyelesaikannya.