Gebruik 'n SOCKS-agent met Node se HTTPS-kliënt
Koppel socks-proxy-agent aan 'n Node-kern-HTTPS-versoek en behou die onderskeid tussen 'n Node-agent en 'n fetch-dispatch.
'n SOCKS-vermoënde agent kan die bestemmingsverbinding vir Node se kern-HTTPS-kliënt vestig. Met socks-proxy-agent beskikbaar in die toepassing:
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);
Vervang die voorbeeld-eindpunt met 'n onbekende kandidaat uit die SOCKS5-proksilys vir hierdie openbare HTTPS-versoek. Die terugroep dreineer die antwoord nadat dit die status gedruk het; verbruik die liggaam daar as die toepassing dit nodig het. Hergebruik die agent vir sy toegewysde bewerkings en vernietig dit wanneer daardie kliëntbeleid afgetree word en sy werk klaar is.
Kies waar die bestemmingsnaam opgelos word
In socks-proxy-agent se URL-hantering laat socks5h die oplossing van die bestemmingsgasheernaam aan die proxy-pad oor; socks5 los dit plaaslik op. Dit maak saak wanneer die naam slegs op die proxy se netwerk beskikbaar is.
Die HTTPS-URL behou die webwerf se identiteit. Die agent doen SOCKS-onderhandeling voordat Node TLS na daardie webwerf begin.
Vir 'n gebruikersnaam/wagwoord-diens, plaas geloofsbriewe in die proxy-URL met URI-komponent-enkodering vir gereserveerde karakters. Hou die volledige URL uit logs. Bestemmings-Authorization-opskrifte behoort aan die webwerf se rekening.
Hierdie agent werk met Node se kern-HTTP/HTTPS-versoek-API's. Node se fetch gebruik 'n dispatcher-koppelvlak, so konfigureer daardie kliënt se ondersteunde SOCKS-integrasie afsonderlik.