Got selectează agenți SOCKS prin cheile sale HTTP și HTTPS
Atribuiți un SocksProxyAgent intrărilor de agent Got după protocolul destinației și păstrați calea HTTP/2 separată.
Obiectul agent din Got este indexat după protocolul destinației. Prin urmare, o conexiune SOCKS pentru un URL HTTPS aparține sub https, nu sub o cheie nouă numită socks.
Pentru o aplicație ESM existentă care folosește Got și socks-proxy-agent pe calea 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();
Lista de proxy SOCKS5 oferă candidați pentru URL-ul de proxy fără cont din exemplu. Același agent poate gestiona intrările HTTP și HTTPS prezentate. Stabilește conexiunea SOCKS, apoi calea HTTPS efectuează strângerea de mână TLS cu destinația.
În acest agent, socks5h lasă rezolvarea numelui de gazdă al destinației proxy-ului SOCKS. socks5 alege în schimb rezolvarea locală. Numele de gazdă al proxy-ului însuși trebuie să rămână accesibil din procesul Node.
Slotul de agent HTTP/2 din Got așteaptă o altă interfață. Nu copiați acest agent în agent.http2 și nu presupuneți că oferă suport proxy HTTP/2.
Reutilizați agentul configurat pentru sarcina de lucru și distrugeți-l când proprietarul său se oprește. Aliniați versiunile pachetelor la runtime-ul Node al aplicației; acest exemplu folosește exportul numit SocksProxyAgent.