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.