Got-objektet agent er nøklet etter destinasjonsprotokollen. En SOCKS-forbindelse for en HTTPS-URL hører derfor under https, ikke under en ny nøkkel som heter socks.

For en eksisterende ESM-applikasjon som bruker Got og socks-proxy-agent på HTTP/1-stien:

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-proxylisten gir kandidater for eksempelets proxy-URL uten konto. Den samme agenten kan håndtere både HTTP- og HTTPS-oppføringen som vises. Den etablerer SOCKS-forbindelsen, og deretter utfører HTTPS-stien TLS-håndtrykket med destinasjonen.

I denne agenten overlater socks5h navneoppslaget for destinasjonsverten til SOCKS-proxyen. socks5 velger i stedet lokal oppslag. Vertsnavnet til proxyen selv må fortsatt kunne nås fra Node-prosessen.

HTTP/2-agentplassen i Got forventer et annet grensesnitt. Ikke kopier denne agenten til agent.http2 og regn ikke med at den gir HTTP/2-proxystøtte.

Bruk den konfigurerte agenten på nytt for arbeidsbelastningen, og ødelegg den når eieren avslutter. Tilpass pakkeversjonene til Node-kjøretiden i applikasjonen; dette eksempelet bruker den navngitte SocksProxyAgent-eksporten.

Relaterte artikler