Node-ի ws հաճախորդի միացումը HTTP փրոքսի գործակալի միջոցով
Փոխանցեք HttpsProxyAgent-ը Node-ի ws կոնստրուկտորին, որպեսզի WebSocket ձեռքսեղմումն անցնի forward փրոքսիով։
Node-ի ws փաթեթը միացման պարամետրերում ընդունում է 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 օբյեկտի ստեղծումը այն չի ավարտել։