Uzu SOCKS-agenton kun la HTTPS-kliento de Node
Aldonu socks-proxy-agent al Node-kerna HTTPS-peto kaj konservu la distingon inter Node-agento kaj fetch-dispeĉo.
SOCKS-kapabla agento povas establi la celan konekton por la kerna HTTPS-kliento de Node. Kun socks-proxy-agent disponebla en la aplikaĵo:
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);
Anstataŭigu la ekzemplan finpunkton per neaŭtentikigita kandidato el la listo de SOCKS5-prokuriloj por ĉi tiu publika HTTPS-peto. La reago eltiras la respondon post presi ĝian staton; konsumu la korpon tie, se la aplikaĵo bezonas ĝin. Reuzu la agenton por ĝiaj asignitaj operacioj, poste detruu ĝin kiam tiu klienta politiko emeritiĝos kaj ĝia laboro finiĝos.
Elektu, kie la celloka nomo estas solvata
En la URL-traktado de socks-proxy-agent, socks5h lasas la solvon de la celloka gastnomo al la prokurila vojo; socks5 solvas ĝin loke. Tio gravas kiam la nomo haveblas nur en la reto de la prokurilo.
La HTTPS-URL konservas la identecon de la retejo. La agento faras SOCKS-traktadon antaŭ ol Node komencas TLS al tiu retejo.
Por servo kun uzantnomo/pasvorto, metu la akreditaĵojn en la prokurilan URL per URI-komponenta kodado por rezervitaj signoj. Tenu la plenan URL ekster protokoloj. La Authorization-kapoj de la celloko apartenas al la konto de la retejo.
Ĉi tiu agento funkcias kun la kernaj HTTP/HTTPS-petaj APIoj de Node. fetch de Node uzas dispeĉan interfacon, do agordu la subtenatan SOCKS-integriĝon de tiu kliento aparte.