Got wybiera agentów SOCKS przez swoje klucze HTTP i HTTPS
Przypisz SocksProxyAgent do wpisów agenta Got według protokołu docelowego i trzymaj ścieżkę HTTP/2 osobno.
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.