Bruk ein SOCKS-agent med HTTPS-klienten til Node
Kople socks-proxy-agent til ein HTTPS-førespurnad i Node-kjernen og hald på skiljet mellom ein Node-agent og ein fetch-dispatcher.
Ein SOCKS-kapabel agent kan opprette målkoplinga for HTTPS-kjerneklienten til Node. Når socks-proxy-agent er tilgjengeleg i applikasjonen:
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);
Erstatt dømet sitt endepunkt med ein uautentisert kandidat frå SOCKS5-proxylista for denne offentlege HTTPS-førespurnaden. Callbacken tømmer svaret etter å ha skrive ut statusen; konsumer bodyen der om applikasjonen treng han. Bruk agenten på nytt for dei tildelte operasjonane, og øydelegg han deretter når denne klientpolitikken blir avvikla og arbeidet er ferdig.
Vel kvar målnamnet blir løyst
I URL-handteringa til socks-proxy-agent lèt socks5h oppslaget av målvertsnamnet til proxy-banen; socks5 løyser det lokalt. Dette er viktig når namnet berre er tilgjengeleg på netverket til proxyen.
HTTPS-URL-en held på identiteten til nettstaden. Agenten gjer SOCKS-forhandling før Node startar TLS mot nettstaden.
For ei teneste med brukarnamn/passord, legg legitimasjonen i proxy-URL-en med URI-komponentkoding for reserverte teikn. Hald heile URL-en utanfor loggar. Authorization-hovuda for målet høyrer til kontoen til nettstaden.
Denne agenten fungerer med HTTP/HTTPS-førespurnads-API-ane i Node-kjernen. fetch i Node brukar eit dispatcher-grensesnitt, så konfigurer den støtta SOCKS-integreringa til den klienten separat.