Brug en SOCKS-agent med Nodes HTTPS-klient
Tilknyt socks-proxy-agent til en HTTPS-anmodning i Node-kernen, og bevar forskellen mellem en Node-agent og en fetch-dispatcher.
En SOCKS-kompatibel agent kan etablere destinationsforbindelsen for Nodes HTTPS-kerneklient. Når socks-proxy-agent er tilgængelig i applikationen:
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);
Erstat eksemplets slutpunkt med en uautentificeret kandidat fra SOCKS5-proxylisten til denne offentlige HTTPS-anmodning. Callbacket tømmer svaret, efter det har udskrevet status; forbrug bodyen der, hvis applikationen har brug for den. Genbrug agenten til dens tildelte operationer, og ødelæg den derefter, når denne klientpolitik udfases, og dens arbejde er afsluttet.
Vælg, hvor destinationsnavnet opløses
I socks-proxy-agents URL-håndtering overlader socks5h opløsningen af destinationsværtsnavnet til proxy-stien; socks5 opløser det lokalt. Det er vigtigt, når navnet kun er tilgængeligt på proxynetværket.
HTTPS-URL'en bevarer webstedets identitet. Agenten udfører SOCKS-forhandling, før Node starter TLS til det websted.
Til en tjeneste med brugernavn/adgangskode skal du placere legitimationsoplysninger i proxy-URL'en med URI-komponentkodning til reserverede tegn. Hold den fulde URL ude af logfiler. Authorization-headere for destinationen tilhører webstedets konto.
Denne agent fungerer med Nodes HTTP/HTTPS-anmodnings-API'er i kernen. Nodes fetch bruger en dispatcher-grænseflade, så konfigurer den klients understøttede SOCKS-integration separat.