Node-ның ws пакеті қосылу параметрлерінде 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);
});

Бұл екі пакеттің де қосымшаның бөлігі екенін болжайды. WebSocket URL қызметті таңдайды, агент URL проксиді таңдайды. HTTP прокси тізімінен алынған HTTP мекенжайы прокси тіркелгі деректерінсіз рұқсат етілген жалпыға ашық WSS сынағы үшін агент URL-ін толтыра алады; қызметтің нақты соңғы нүктесіне қатынауды тексеріңіз.

HttpsProxyAgent HTTP CONNECT туннелін құрады және қосылған тасымалды клиентке береді. Ол WebSocket қосылымдарын да, HTTPS сұрауларын да қолдайды, сондықтан қосымша CONNECT алмасуын өзі құруы қажет емес.

Қосымшаның әдеттегі open, message және close өңдеуін жалғастырыңыз. open оқиғасы таңдалған бағытта WebSocket қол алысуының аяқталғанын білдіреді; тек JavaScript нысанын жасау оны аяқтаған жоқ.

Қатысты мақалалар