Použite SOCKS agenta s HTTPS klientom Node
Pripojte socks-proxy-agent k základnej HTTPS požiadavke Node a zachovajte rozdiel medzi agentom Node a dispečerom fetch.
Agent s podporou SOCKS môže nadviazať spojenie s cieľom pre základného HTTPS klienta Node. Keď je socks-proxy-agent v aplikácii dostupný:
const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
agent,
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
Nahraďte ukážkový koncový bod neovereným kandidátom zo zoznamu SOCKS5 proxy pre túto verejnú HTTPS požiadavku. Spätné volanie po vytlačení stavu odpoveď vyčerpá; telo tu spotrebujte, ak ho aplikácia potrebuje. Agenta znova použite na pridelené operácie a potom ho zničte, keď sa táto klientska politika zruší a jeho práca skončí.
Zvoľte, kde sa prekladá názov cieľa
Pri spracovaní URL v socks-proxy-agent ponecháva socks5h preklad názvu hostiteľa cieľa na ceste cez proxy; socks5 ho prekladá lokálne. To je dôležité, keď je názov dostupný len v sieti proxy.
URL HTTPS zachováva identitu webu. Agent vykoná SOCKS rokovanie skôr, než Node začne TLS k tomuto webu.
Pre službu s používateľským menom a heslom vložte prihlasovacie údaje do URL proxy pomocou kódovania komponentov URI pre rezervované znaky. Celú URL držte mimo protokolov. Hlavičky Authorization cieľa patria účtu webu.
Tento agent pracuje so základnými API na HTTP/HTTPS požiadavky Node. fetch v Node používa rozhranie dispečera, preto podporovanú integráciu SOCKS tohto klienta nastavte samostatne.