Got seleziona gli agenti SOCKS tramite le sue chiavi HTTP e HTTPS
Assegna un SocksProxyAgent alle voci agente di Got per protocollo di destinazione, tenendo separato il percorso HTTP/2.
L'oggetto agent di Got è indicizzato per protocollo di destinazione. Una connessione SOCKS per un URL HTTPS rientra quindi sotto https, non sotto una nuova chiave chiamata socks.
Per un'applicazione ESM esistente che usa Got e socks-proxy-agent sul percorso 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();
L'elenco di proxy SOCKS5 fornisce candidati per l'URL proxy senza account dell'esempio. Lo stesso agente può gestire le voci HTTP e HTTPS mostrate. Stabilisce la connessione SOCKS, poi il percorso HTTPS esegue la stretta di mano TLS con la destinazione.
In questo agente socks5h lascia la risoluzione del nome host di destinazione al proxy SOCKS. socks5 sceglie invece la risoluzione locale. Il nome host del proxy stesso deve comunque restare raggiungibile dal processo Node.
Lo slot agente HTTP/2 di Got prevede un'interfaccia diversa. Non copiare questo agente in agent.http2 e non dare per scontato che offra supporto proxy HTTP/2.
Riusa l'agente configurato per il carico di lavoro e distruggilo quando il suo proprietario si spegne. Allinea le versioni dei pacchetti al runtime Node dell'applicazione; questo esempio usa l'esportazione denominata SocksProxyAgent.