Пакет ws у Node прымае HTTP-агент у параметрах злучэння. Для прамога проксі фрагмент ES-модуля можа выкарыстоўваць 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);
});

Мяркуецца, што абодва пакеты ўжо ўваходзяць у праграму. URL WebSocket выбірае службу, а URL агента выбірае проксі. HTTP-адрас са спісу HTTP-проксі можа запоўніць URL агента для дазволенага публічнага тэсту WSS без уліковых даных проксі; праверце доступ да сапраўднай канчатковай кропкі службы.

HttpsProxyAgent стварае тунель HTTP CONNECT і перадае злучаны транспарт кліенту. Ён падтрымлівае злучэнні WebSocket і запыты HTTPS, таму праграме не трэба самой будаваць абмен CONNECT.

Працягвайце звычайную апрацоўку open, message і close у праграме. Падзея open азначае завяршэнне рукапоціску WebSocket на выбраным маршруце; стварэнне аднаго толькі аб'екта JavaScript яго не завяршыла.

Падобныя артыкулы