Un agent amb capacitat SOCKS pot establir la connexió de destinació per al client HTTPS bàsic de Node. Amb socks-proxy-agent disponible a l'aplicació:

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);

Substituïu el punt final d'exemple per un candidat no autenticat de la llista de proxys SOCKS5 per a aquesta sol·licitud HTTPS pública. La devolució de trucada buida la resposta després d'imprimir l'estat; consumiu el cos allà si l'aplicació el necessita. Reutilitzeu l'agent per a les operacions assignades i després destruïu-lo quan aquesta política de client es retiri i la seva feina hagi acabat.

Trieu on es resol el nom de destinació

En el maneig d'URL de socks-proxy-agent, socks5h deixa la resolució del nom d'amfitrió de destinació al camí del proxy; socks5 el resol localment. Això importa quan el nom només està disponible a la xarxa del proxy.

L'URL HTTPS conserva la identitat del lloc web. L'agent fa la negociació SOCKS abans que Node iniciï TLS cap a aquest lloc.

Per a un servei amb nom d'usuari i contrasenya, poseu les credencials a l'URL del proxy mitjançant codificació de components URI per a caràcters reservats. Manteniu l'URL completa fora dels registres. Les capçaleres Authorization de destinació pertanyen al compte del lloc web.

Aquest agent funciona amb les API de sol·licitud HTTP/HTTPS bàsiques de Node. El fetch de Node utilitza una interfície de dispatcher, així que configureu per separat la integració SOCKS compatible d'aquest client.

Articles relacionats