Got избира SOCKS агенти чрез ключовете си HTTP и HTTPS
Задайте SocksProxyAgent на агентските записи на Got по протокол на дестинацията, като държите пътя HTTP/2 отделно.
Обектът agent на Got се индексира по протокола на дестинацията. Затова SOCKS връзка за HTTPS адрес принадлежи под https, а не под нов ключ с име socks.
За съществуващо ESM приложение, което използва Got и socks-proxy-agent по пътя 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();
Списъкът със SOCKS5 проксита дава кандидати за прокси адреса без акаунт от примера. Същият агент може да обслужва показаните записи HTTP и HTTPS. Той установява SOCKS връзката, след което пътят HTTPS извършва TLS ръкостискането с дестинацията.
В този агент socks5h оставя разрешаването на името на хоста на дестинацията на SOCKS проксито. socks5 вместо това избира локално разрешаване. Собственото име на хоста на проксито все още трябва да е достъпно от процеса Node.
Слотът за HTTP/2 агент на Got очаква друг интерфейс. Не копирайте този агент в agent.http2 и не предполагайте, че осигурява поддръжка на HTTP/2 прокси.
Използвайте отново конфигурирания агент за натоварването и го унищожавайте, когато собственикът му се изключи. Съобразявайте версиите на пакетите с Node средата на приложението; този пример използва именувания експорт SocksProxyAgent.