Gots agent-objekt är nycklat efter målprotokollet. En SOCKS-anslutning för en HTTPS-URL hör därför under https, inte under en ny nyckel som heter socks.

För en befintlig ESM-applikation som använder Got och socks-proxy-agent på HTTP/1-vägen:

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-proxylistan ger kandidater till exemplets proxy-URL utan konto. Samma agent kan hantera de visade HTTP- och HTTPS-posterna. Den upprättar SOCKS-anslutningen, därefter utför HTTPS-vägen sitt TLS-handskakning med målet.

I den här agenten lämnar socks5h uppslagningen av målvärdens värdnamn till SOCKS-proxyn. socks5 väljer i stället lokal uppslagning. Själva proxyns värdnamn måste fortfarande vara nåbart från Node-processen.

Gots HTTP/2-agentplats förväntar sig ett annat gränssnitt. Kopiera inte den här agenten till agent.http2 och utgå inte från att den ger HTTP/2-proxystöd.

Återanvänd den konfigurerade agenten för arbetsbelastningen och förstör den när ägaren stängs av. Anpassa paketversionerna till applikationens Node-runtime; det här exemplet använder den namngivna SocksProxyAgent-exporten.

Relaterade artiklar