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ä.

Aiheeseen liittyvät artikkelit