Obiekt agent w Got jest indeksowany według protokołu docelowego. Dlatego połączenie SOCKS dla adresu HTTPS należy pod https, a nie pod nowy klucz o nazwie socks.

Dla istniejącej aplikacji ESM, która używa Got i socks-proxy-agent na ścieżce 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 proxy SOCKS5 dostarcza kandydatów dla adresu proxy bez konta z przykładu. Ten sam agent obsłuży pokazane wpisy HTTP i HTTPS. Nawiązuje połączenie SOCKS, a następnie ścieżka HTTPS wykonuje uścisk dłoni TLS z celem.

W tym agencie socks5h pozostawia rozwiązywanie nazwy hosta celu proxy SOCKS. socks5 wybiera zamiast tego rozwiązywanie lokalne. Nazwa hosta samego proxy nadal musi być osiągalna z procesu Node.

Gniazdo agenta HTTP/2 w Got oczekuje innego interfejsu. Nie kopiuj tego agenta do agent.http2 i nie zakładaj, że zapewnia obsługę proxy HTTP/2.

Użyj ponownie skonfigurowanego agenta dla obciążenia i zniszcz go, gdy jego właściciel się wyłączy. Dopasuj wersje pakietów do środowiska Node aplikacji; ten przykład używa nazwanego eksportu SocksProxyAgent.

Powiązane artykuły