Аб'ект 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.

Падобныя артыкулы