Använd en SOCKS-agent med Nodes HTTPS-klient
Koppla socks-proxy-agent till en HTTPS-begäran i Node-kärnan och behåll skillnaden mellan en Node-agent och en fetch-dispatch.
En SOCKS-kapabel agent kan upprätta destinationsanslutningen för Nodes HTTPS-kärnklient. När socks-proxy-agent är tillgänglig i applikationen:
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);
Ersätt exemplets slutpunkt med en oautentiserad kandidat från SOCKS5-proxylistan för denna offentliga HTTPS-begäran. Callbacken tömmer svaret efter att ha skrivit ut statusen; konsumera brödtexten där om applikationen behöver den. Återanvänd agenten för dess tilldelade operationer och förstör den sedan när den klientpolicyn avvecklas och arbetet är klart.
Välj var destinationsnamnet slås upp
I socks-proxy-agents URL-hantering lämnar socks5h uppslagningen av destinationsvärdnamnet till proxy-vägen; socks5 slår upp det lokalt. Detta spelar roll när namnet bara är tillgängligt i proxyns nätverk.
HTTPS-URL:en behåller webbplatsens identitet. Agenten utför SOCKS-förhandling innan Node startar TLS mot webbplatsen.
För en tjänst med användarnamn/lösenord, placera uppgifterna i proxy-URL:en med URI-komponentkodning för reserverade tecken. Håll hela URL:en utanför loggar. Authorization-huvuden för destinationen tillhör webbplatsens konto.
Denna agent fungerar med Nodes HTTP/HTTPS-begärans-API:er i kärnan. fetch i Node använder ett dispatcher-gränssnitt, så konfigurera den klientens SOCKS-integration separat.