Naudokite SOCKS agentą su Node HTTPS klientu
Prijunkite socks-proxy-agent prie pagrindinės Node HTTPS užklausos ir išsaugokite skirtumą tarp Node agento ir fetch dispečerio.
SOCKS palaikantis agentas gali užmegzti paskirties ryšį pagrindiniam Node HTTPS klientui. Kai programoje yra 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);
Pakeiskite pavyzdžio galinį tašką neautentifikuotu kandidatu iš SOCKS5 proxy sąrašo šiai viešai HTTPS užklausai. Atgalinis iškvietimas ištuština atsakymą po būsenos išvedimo; sunaudokite turinį ten, jei programai jo reikia. Naudokite agentą pakartotinai jo priskirtoms operacijoms, o tada sunaikinkite jį, kai ta kliento politika panaikinama ir jo darbas baigiamas.
Pasirinkite, kur sprendžiamas paskirties pavadinimas
Apdorojant socks-proxy-agent URL, socks5h palieka paskirties mazgo vardo sprendimą proxy keliui; socks5 sprendžia jį vietoje. Tai svarbu, kai pavadinimas prieinamas tik proxy tinkle.
HTTPS URL išsaugo svetainės tapatybę. Agentas atlieka SOCKS derybas prieš Node pradedant TLS į tą svetainę.
Jei paslauga naudoja vartotojo vardą/slaptažodį, įdėkite prisijungimo duomenis į proxy URL naudodami URI komponentų kodavimą rezervuotiems simboliams. Laikykite visą URL už žurnalų ribų. Paskirties Authorization antraštės priklauso svetainės paskyrai.
Šis agentas veikia su pagrindiniais Node HTTP/HTTPS užklausų API. Node fetch naudoja dispečerio sąsają, todėl atskirai sukonfigūruokite to kliento palaikomą SOCKS integraciją.