Got ತನ್ನ HTTP ಮತ್ತು HTTPS ಕೀಗಳ ಮೂಲಕ SOCKS ಏಜೆಂಟ್ಗಳನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತದೆ
Got ನ ಗಮ್ಯ-ಪ್ರೋಟೋಕಾಲ್ ಏಜೆಂಟ್ ನಮೂದುಗಳಿಗೆ SocksProxyAgent ನಿಯೋಜಿಸಿ ಮತ್ತು HTTP/2 ಮಾರ್ಗವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ.
Got ನ agent ಆಬ್ಜೆಕ್ಟ್ ಗಮ್ಯ ಪ್ರೋಟೋಕಾಲ್ನಿಂದ ಕೀಲಿ ಹಾಕಲಾಗಿದೆ. ಆದ್ದರಿಂದ HTTPS URL ಗಾಗಿ SOCKS ಸಂಪರ್ಕ socks ಎಂಬ ಹೊಸ ಕೀ ಅಡಿಯಲ್ಲಿ ಅಲ್ಲ, https ಅಡಿಯಲ್ಲಿ ಬರುತ್ತದೆ.
HTTP/1 ಮಾರ್ಗದಲ್ಲಿ Got ಮತ್ತು socks-proxy-agent ಬಳಸುವ ಇರುವ ESM ಅಪ್ಲಿಕೇಶನ್ಗಾಗಿ:
import got from 'got';
import {SocksProxyAgent} from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const body = await got('https://www.example.org/', {
http2: false,
agent: {
http: agent,
https: agent,
},
timeout: {request: 20000},
}).text();
SOCKS5 ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಉದಾಹರಣೆಯ ಖಾತೆರಹಿತ ಪ್ರಾಕ್ಸಿ URL ಗೆ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಅದೇ ಏಜೆಂಟ್ ತೋರಿಸಿದ HTTP ಮತ್ತು HTTPS ನಮೂದುಗಳೆರಡನ್ನೂ ನಿರ್ವಹಿಸಬಲ್ಲದು. ಅದು SOCKS ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ, ನಂತರ HTTPS ಮಾರ್ಗವು ಗಮ್ಯದೊಂದಿಗೆ TLS ಕೈಕುಲುಕುವಿಕೆ ಮಾಡುತ್ತದೆ.
ಈ ಏಜೆಂಟ್ನಲ್ಲಿ socks5h ಗಮ್ಯ ಹೋಸ್ಟ್ಹೆಸರಿನ ಪರಿಹಾರವನ್ನು SOCKS ಪ್ರಾಕ್ಸಿಗೆ ಬಿಡುತ್ತದೆ. socks5 ಬದಲಿಗೆ ಸ್ಥಳೀಯ ಪರಿಹಾರವನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತದೆ. ಪ್ರಾಕ್ಸಿಯ ಸ್ವಂತ ಹೋಸ್ಟ್ಹೆಸರು ಇನ್ನೂ Node ಪ್ರಕ್ರಿಯೆಯಿಂದ ತಲುಪಬಲ್ಲದಾಗಿರಬೇಕು.
Got ನ HTTP/2 ಏಜೆಂಟ್ ಸ್ಲಾಟ್ ಬೇರೆ ಇಂಟರ್ಫೇಸ್ ನಿರೀಕ್ಷಿಸುತ್ತದೆ. ಈ ಏಜೆಂಟ್ ಅನ್ನು agent.http2 ಗೆ ನಕಲಿಸಿ ಅದು HTTP/2 ಪ್ರಾಕ್ಸಿ ಬೆಂಬಲ ನೀಡುತ್ತದೆ ಎಂದು ಭಾವಿಸಬೇಡಿ.
ಕೆಲಸದ ಹೊರೆಗಾಗಿ ಸಂರಚಿಸಿದ ಏಜೆಂಟ್ ಅನ್ನು ಮತ್ತೆ ಬಳಸಿ ಮತ್ತು ಅದರ ಮಾಲೀಕರು ಬಂದ್ ಆದಾಗ ಅದನ್ನು ನಾಶಮಾಡಿ. ಪ್ಯಾಕೇಜ್ ಆವೃತ್ತಿಗಳನ್ನು ಅಪ್ಲಿಕೇಶನ್ನ Node ರನ್ಟೈಮ್ಗೆ ಹೊಂದಿಸಿ; ಈ ಉದಾಹರಣೆ ಹೆಸರಿಸಿದ SocksProxyAgent ಎಕ್ಸ್ಪೋರ್ಟ್ ಬಳಸುತ್ತದೆ.