Pakken ws i Node accepterer en HTTP-agent i sine forbindelsesindstillinger. Til en forward-proxy kan et ES-modulfragment bruge 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);
});

Det forudsætter, at begge pakker allerede er en del af programmet. WebSocket-URL'en vælger tjenesten, og agent-URL'en vælger proxyen. En HTTP-adresse fra HTTP-proxylisten kan udfylde agent-URL'en til en tilladt offentlig WSS-test uden proxy-legitimationsoplysninger; kontroller adgangen til tjenestens faktiske slutpunkt.

HttpsProxyAgent opretter en HTTP CONNECT-tunnel og overdrager den forbundne transport til klienten. Den understøtter WebSocket-forbindelser såvel som HTTPS-anmodninger, så programmet behøver ikke selv at bygge CONNECT-udvekslingen.

Fortsæt med programmets sædvanlige håndtering af open, message og close. open-hændelsen markerer, at WebSocket-håndtrykket er fuldført på den valgte rute; det er ikke fuldført alene ved at oprette JavaScript-objektet.

Relaterede artikler