Got vybírá SOCKS agenty prostřednictvím svých klíčů HTTP a HTTPS
Přiřaďte SocksProxyAgent položkám agenta Got podle cílového protokolu a cestu HTTP/2 držte odděleně.
Objekt agent v Gotu je indexován podle cílového protokolu. SOCKS připojení pro URL HTTPS tedy patří pod https, nikoli pod nový klíč s názvem socks.
Pro existující aplikaci ESM, která používá Got a socks-proxy-agent na cestě HTTP/1:
import got from 'got';
import {SocksProxyAgent} from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const body = await got('https://www.example.org/', {
http2: false,
agent: {
http: agent,
https: agent,
},
timeout: {request: 20000},
}).text();
Seznam SOCKS5 proxy dodává kandidáty pro proxy URL bez účtu z příkladu. Stejný agent zvládne zobrazené položky HTTP i HTTPS. Naváže SOCKS spojení a poté cesta HTTPS provede TLS handshake s cílem.
V tomto agentu socks5h ponechává překlad cílového hostname na SOCKS proxy. socks5 místo toho volí místní překlad. Vlastní hostname proxy musí být stále dostupný z procesu Node.
Slot agenta HTTP/2 v Gotu očekává jiné rozhraní. Nekopírujte tohoto agenta do agent.http2 a nepředpokládejte, že poskytuje podporu HTTP/2 proxy.
Nakonfigurovaného agenta pro zátěž znovu použijte a zničte ho, až se jeho vlastník vypne. Slučujte verze balíčků s runtime Node aplikace; tento příklad používá pojmenovaný export SocksProxyAgent.