Got valitsee SOCKS-agentit HTTP- ja HTTPS-avaimillaan
Anna SocksProxyAgent Gotin kohdeprotokollan agenttimerkinnöille ja pidä HTTP/2-polku erillään.
Gotin agent-objekti on avaimettu kohdeprotokollan mukaan. Siksi HTTPS-URL:n SOCKS-yhteys kuuluu https-avaimen alle eikä uuden socks-nimisen avaimen alle.
Olemassa olevalle ESM-sovellukselle, joka käyttää Gotia ja socks-proxy-agentia HTTP/1-polkua pitkin:
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();
SOCKS5-välityspalvelinluettelo tarjoaa ehdokkaita esimerkin tilittömälle välityspalvelimen URL:lle. Sama agentti voi hoitaa näytetyt HTTP- ja HTTPS-merkinnät. Se muodostaa SOCKS-yhteyden, minkä jälkeen HTTPS-polku tekee TLS-kättelyn kohteen kanssa.
Tässä agentissa socks5h jättää kohdeisäntänimen ratkaisun SOCKS-välityspalvelimelle. socks5 valitsee sen sijaan paikallisen ratkaisun. Välityspalvelimen oma isäntänimi on silti saatava Node-prosessista.
Gotin HTTP/2-agenttipaikka odottaa eri rajapintaa. Älä kopioi tätä agenttia agent.http2-kohtaan ja oleta, että se tarjoaa HTTP/2-välityspalvelintuen.
Käytä määritettyä agenttia uudelleen työkuormalle ja tuhoa se, kun sen omistaja sammuu. Sovita pakettiversiot sovelluksen Node-ajoympäristöön; tämä esimerkki käyttää nimettyä SocksProxyAgent-vientiä.