Konekti la ws-klienton de Node per HTTP-prokura agento
Transdonu HttpsProxyAgent al la ws-konstrukciilo de Node por ke la WebSocket-manpremado iru tra la antaŭa prokuro.
La pakaĵo ws de Node akceptas HTTP-agenton en siaj konektaj agordoj. Por antaŭa prokuro, fragmento de ES-modulo povas uzi 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);
});
Ĉi tio supozas, ke ambaŭ pakaĵoj jam estas parto de la aplikaĵo. La WebSocket-URL elektas la servon; la agenta URL elektas la prokuron. HTTP-adreso el la listo de HTTP-prokuroj povas plenigi la agentan URL por permesita publika WSS-testo sen prokuraj legitimiloj; kontrolu la aliron al la reala serva finpunkto.
HttpsProxyAgent starigas HTTP-CONNECT-tunelon kaj transdonas la konektitan transporton al la kliento. Ĝi subtenas WebSocket-konektojn kaj HTTPS-petojn, do la aplikaĵo ne devas mem konstrui la CONNECT-interŝanĝon.
Daŭrigu per la kutima traktado de open, message kaj close en la aplikaĵo. La evento open markas la finiĝon de la WebSocket-manpremado sur la elektita vojo; krei nur la JavaScript-objekton ne finis ĝin.