Node ws kliento prijungimas per HTTP proxy agentą
Perduokite HttpsProxyAgent Node ws konstruktoriui, kad WebSocket rankos paspaudimas eitų per forward proxy.
Node paketas ws priima HTTP agentą savo ryšio parinktyse. Forward proxy atveju ES modulio fragmentas gali naudoti 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);
});
Tai daro prielaidą, kad abu paketai jau yra programos dalis. WebSocket URL parenka paslaugą, agento URL – proxy. HTTP adresas iš HTTP proxy sąrašo gali užpildyti agento URL leidžiamam viešam WSS testui be proxy prisijungimo duomenų; patikrinkite prieigą prie tikrojo paslaugos galinio taško.
HttpsProxyAgent sukuria HTTP CONNECT tunelį ir perduoda prijungtą transportą klientui. Jis palaiko WebSocket ryšius ir HTTPS užklausas, todėl programai nereikia pačiai kurti CONNECT mainų.
Tęskite įprastą open, message ir close apdorojimą programoje. Įvykis open žymi WebSocket rankos paspaudimo užbaigimą pasirinktame maršrute; vien JavaScript objekto sukūrimas jo neužbaigė.