Выкарыстоўвайце SOCKS-агент з HTTPS-кліентам Node
Падключыце socks-proxy-agent да асноўнага HTTPS-запыту Node і захавайце розніцу паміж агентам Node і дыспетчарам fetch.
Агент з падтрымкай SOCKS можа ўсталяваць злучэнне з прызначэннем для асноўнага HTTPS-кліента Node. Калі socks-proxy-agent даступны ў праграме:
const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
agent,
signal: AbortSignal.timeout(15000),
}, (response) => {
console.log(response.statusCode);
response.on('error', console.error);
response.resume();
});
request.on('error', console.error);
Замяніце прыкладны адрас на неаўтэнтыфікаванага кандыдата з спіса SOCKS5-праксі для гэтага публічнага HTTPS-запыту. Зваротны выклік спампоўвае адказ пасля вываду статусу; спажывайце цела там, калі праграме гэта патрэбна. Паўторна выкарыстоўвайце агент для прызначаных аперацый, а затым знішчыце яго, калі гэтая палітыка кліента спыніцца і яго праца завершыцца.
Выберыце, дзе вызначаецца імя прызначэння
У апрацоўцы URL socks-proxy-agent socks5h пакідае вызначэнне імені хаста прызначэння праксі-шляху; socks5 вызначае лакальна. Гэта важна, калі імя даступнае толькі ў сетцы праксі.
HTTPS-адрас захоўвае ідэнтычнасць вэб-сайта. Агент выконвае SOCKS-перамовы перад тым, як Node пачне TLS з гэтым сайтам.
Для сэрвісу з іменем карыстальніка і паролем змясціце ўліковыя даныя ў URL праксі з дапамогай кадавання кампанентаў URI для зарэзерваваных сімвалаў. Трымайце поўны URL па-за журналамі. Загалоўкі Authorization прызначэння належаць уліковаму запісу вэб-сайта.
Гэты агент працуе з асноўнымі API запытаў HTTP/HTTPS Node. fetch у Node выкарыстоўвае інтэрфейс дыспетчара, таму наладзьце падтрымку SOCKS для гэтага кліента асобна.