Bruk en SOCKS-agent med Nodes HTTPS-klient
Koble socks-proxy-agent til en HTTPS-forespørsel i Node-kjernen og behold skillet mellom en Node-agent og en fetch-dispatcher.
En SOCKS-kapabel agent kan opprette destinasjonstilkoblingen for Nodes HTTPS-kjerneklient. Når socks-proxy-agent er tilgjengelig 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 eksempelets endepunkt med en uautentisert kandidat fra SOCKS5-proxylisten for denne offentlige HTTPS-forespørselen. Callbacken tømmer svaret etter å ha skrevet ut statusen; konsumer bodyen der hvis applikasjonen trenger den. Gjenbruk agenten for de tildelte operasjonene, og ødelegg den deretter når denne klientpolicyen avvikles og arbeidet er ferdig.
Velg hvor destinasjonsnavnet slås opp
I socks-proxy-agent sin URL-håndtering overlater socks5h oppslaget av destinasjonsvertsnavnet til proxy-banen; socks5 slår det opp lokalt. Dette er viktig når navnet bare er tilgjengelig på proxynettverket.
HTTPS-URL-en beholder nettstedets identitet. Agenten utfører SOCKS-forhandling før Node starter TLS mot nettstedet.
For en tjeneste med brukernavn/passord, legg legitimasjonen i proxy-URL-en med URI-komponentkoding for reserverte tegn. Hold hele URL-en utenfor logger. Authorization-hoder for destinasjonen tilhører nettstedets konto.
Denne agenten fungerer med Nodes HTTP/HTTPS-forespørsels-API-er i kjernen. fetch i Node bruker et dispatcher-grensesnitt, så konfigurer den støttede SOCKS-integrasjonen for den klienten separat.