Поврзување на Node ws клиентот преку HTTP прокси агент
Предајте HttpsProxyAgent на конструкторот ws во Node за WebSocket ракувањето да оди преку forward прокси.
Пакетот ws во Node прифаќа HTTP агент во опциите за врска. За forward прокси, фрагмент од 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 прокси може да го пополни URL-то на агентот за дозволен јавен WSS тест без податоци за прокси; проверете пристапот до вистинската крајна точка на услугата.
HttpsProxyAgent воспоставува HTTP CONNECT тунел и го предава поврзаниот транспорт на клиентот. Поддржува WebSocket врски и HTTPS барања, така што апликацијата не мора сама да ја гради CONNECT размената.
Продолжете со вообичаеното ракување со open, message и close во апликацијата. Настанот open означува завршување на WebSocket ракувањето на избраната рута; самото создавање на JavaScript објектот не го завршило.