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.

Rilataj artikoloj