Een SOCKS-agent gebruiken met de HTTPS-client van Node
Koppel socks-proxy-agent aan een HTTPS-verzoek van de Node-kern en behoud het onderscheid tussen een Node-agent en een fetch-dispatcher.
Een SOCKS-capabele agent kan de bestemmingsverbinding tot stand brengen voor de HTTPS-kernclient van Node. Met socks-proxy-agent beschikbaar in de applicatie:
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 het voorbeeld-eindpunt door een niet-geverifieerde kandidaat uit de SOCKS5-proxylijst voor dit openbare HTTPS-verzoek. De callback leest de respons leeg nadat de status is afgedrukt; verbruik de body daar als de applicatie die nodig heeft. Hergebruik de agent voor de aan hem toegewezen bewerkingen en vernietig hem daarna wanneer dat clientbeleid wordt beëindigd en het werk klaar is.
Kies waar de bestemmingsnaam wordt opgelost
In de URL-afhandeling van socks-proxy-agent laat socks5h de resolutie van de bestemmingshostnaam over aan het proxy-pad; socks5 lost deze lokaal op. Dit is belangrijk wanneer de naam alleen op het netwerk van de proxy beschikbaar is.
De HTTPS-URL behoudt de identiteit van de website. De agent voert SOCKS-onderhandeling uit voordat Node TLS naar die website start.
Plaats voor een dienst met gebruikersnaam en wachtwoord de inloggegevens in de proxy-URL met URI-componentcodering voor gereserveerde tekens. Houd de volledige URL buiten logboeken. De Authorization-headers van de bestemming horen bij het account van de website.
Deze agent werkt met de HTTP/HTTPS-verzoek-API's van de Node-kern. fetch van Node gebruikt een dispatcher-interface, dus configureer de ondersteunde SOCKS-integratie van die client apart.