Forbind Nodes ws-klient gennem en HTTP-proxyagent
Send HttpsProxyAgent til Nodes ws-konstruktør, så WebSocket-håndtrykket går gennem forward-proxyen.
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.