Node ನ HTTPS ಕ್ಲೈಂಟ್ನೊಂದಿಗೆ SOCKS ಏಜೆಂಟ್ ಬಳಸಿ
socks-proxy-agent ಅನ್ನು Node ಕೋರ್ HTTPS ವಿನಂತಿಗೆ ಜೋಡಿಸಿ ಮತ್ತು Node ಏಜೆಂಟ್ ಹಾಗೂ fetch dispatcher ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ.
SOCKS ಸಾಮರ್ಥ್ಯವಿರುವ ಏಜೆಂಟ್ Node ನ ಕೋರ್ HTTPS ಕ್ಲೈಂಟ್ಗಾಗಿ ಗಮ್ಯಸ್ಥಾನ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಬಹುದು. ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ socks-proxy-agent ಲಭ್ಯವಿದ್ದಾಗ:
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);
ಈ ಸಾರ್ವಜನಿಕ HTTPS ವಿನಂತಿಗಾಗಿ ಉದಾಹರಣೆಯ ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು SOCKS5 ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ ದೃಢೀಕರಿಸದ ಅಭ್ಯರ್ಥಿಯೊಂದಿಗೆ ಬದಲಾಯಿಸಿ. ಕಾಲ್ಬ್ಯಾಕ್ ಸ್ಥಿತಿಯನ್ನು ಮುದ್ರಿಸಿದ ನಂತರ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಖಾಲಿ ಮಾಡುತ್ತದೆ; ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅಗತ್ಯವಿದ್ದರೆ ಅಲ್ಲಿಯೇ ದೇಹವನ್ನು ಬಳಸಿ. ಏಜೆಂಟ್ ಅನ್ನು ಅದರ ನಿಗದಿತ ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಮತ್ತೆ ಬಳಸಿ, ನಂತರ ಆ ಕ್ಲೈಂಟ್ ನೀತಿಯನ್ನು ಹಿಂತೆಗೆದುಕೊಂಡು ಅದರ ಕೆಲಸ ಮುಗಿದಾಗ ಅದನ್ನು ನಾಶಮಾಡಿ.
ಗಮ್ಯಸ್ಥಾನದ ಹೆಸರು ಎಲ್ಲಿ ಪರಿಹರಿಸಲ್ಪಡುತ್ತದೆ ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ
socks-proxy-agent ನ URL ನಿರ್ವಹಣೆಯಲ್ಲಿ, socks5h ಗಮ್ಯಸ್ಥಾನದ ಹೋಸ್ಟ್ಹೆಸರು ಪರಿಹಾರವನ್ನು ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗಕ್ಕೆ ಬಿಡುತ್ತದೆ; socks5 ಅದನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಪರಿಹರಿಸುತ್ತದೆ. ಹೆಸರು ಪ್ರಾಕ್ಸಿ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿದ್ದಾಗ ಇದು ಮುಖ್ಯ.
HTTPS URL ವೆಬ್ಸೈಟ್ನ ಗುರುತನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. Node ಆ ಸೈಟ್ಗೆ TLS ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಏಜೆಂಟ್ SOCKS ಮಾತುಕತೆ ನಡೆಸುತ್ತದೆ.
ಬಳಕೆದಾರಹೆಸರು/ಪಾಸ್ವರ್ಡ್ ಸೇವೆಗಾಗಿ, ಕಾಯ್ದಿರಿಸಿದ ಅಕ್ಷರಗಳಿಗೆ URI-ಘಟಕ ಎನ್ಕೋಡಿಂಗ್ ಬಳಸಿ ಪ್ರಾಕ್ಸಿ URL ನಲ್ಲಿ ರುಜುವಾತುಗಳನ್ನು ಇರಿಸಿ. ಪೂರ್ಣ URL ಅನ್ನು ಲಾಗ್ಗಳಿಂದ ಹೊರಗಿಡಿ. ಗಮ್ಯಸ್ಥಾನದ Authorization ಹೆಡರ್ಗಳು ವೆಬ್ಸೈಟ್ನ ಖಾತೆಗೆ ಸೇರಿವೆ.
ಈ ಏಜೆಂಟ್ Node ನ ಕೋರ್ HTTP/HTTPS ವಿನಂತಿ API ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ. Node ನ fetch dispatcher ಇಂಟರ್ಫೇಸ್ ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಆ ಕ್ಲೈಂಟ್ನ ಬೆಂಬಲಿತ SOCKS ಸಂಯೋಜನೆಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸಂರಚಿಸಿ.