ಸಂಪರ್ಕ ನಿರ್ವಾಹಕದಲ್ಲಿ Apache HttpClient 5.5 ನ SOCKS ಸೆಟ್ಟಿಂಗ್ಗಳು
HTTP ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗ ಅಥವಾ ಕಸ್ಟಮ್ ಸಾಕೆಟ್ ಕಾರ್ಖಾನೆಯ ಬದಲು SocketConfig ಮೂಲಕ ಪೂಲ್ನ ಸಾಕೆಟ್ ನೀತಿಯನ್ನು ಸಂರಚಿಸಿ.
Apache HttpClient 5.5 ಸಂಪರ್ಕ ನಿರ್ವಾಹಕದ ಸಾಕೆಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ SOCKS ಸಂರಚನಾ ಮಾರ್ಗವನ್ನು ಒಳಗೊಂಡಿದೆ. ಅದರ ನಿರ್ವಹಿತ ಉದಾಹರಣೆ setSocksProxyAddress ಬಳಸುತ್ತದೆ:
InetSocketAddress socks =
new InetSocketAddress("proxy.example.net", 1080);
PoolingHttpClientConnectionManager manager =
PoolingHttpClientConnectionManagerBuilder.create()
.setDefaultSocketConfig(
SocketConfig.custom()
.setSocksProxyAddress(socks)
.build()
)
.build();
CloseableHttpClient client = HttpClients.custom()
.setConnectionManager(manager)
.build();
ಈ ತುಣುಕು HttpClient 5 ನ org.apache.hc ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಮತ್ತು HttpCore ನ SocketConfig ಬಳಸುತ್ತದೆ. ಈ ಕ್ಲೈಂಟ್ನೊಂದಿಗೆ ಮಾಡಿದ ವಿನಂತಿಗಳು ಮೇಲೆ ಸಂರಚಿಸಿದ ಪೂಲ್ ಬಳಸುತ್ತವೆ. ಅಪ್ಲಿಕೇಶನ್ನ ಮಾಲೀಕತ್ವದ ವ್ಯಾಪ್ತಿ ಮುಗಿದಾಗ ಕ್ಲೈಂಟ್ ಮುಚ್ಚಿ.
ವೆಬ್ಸೈಟ್ನ ನಿಜವಾದ URL ಅನ್ನು ಎಂದಿನಂತೆ ವಿನಂತಿಯ ಮೇಲೆ ಇರಿಸಿ. ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣವಿಲ್ಲದ ಅನುಮತಿಸಿದ ಸಾರ್ವಜನಿಕ ಸೈಟ್ ವಿನಂತಿಗಳಿಗೆ SOCKS ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಅಭ್ಯರ್ಥಿ ವಿಳಾಸಗಳನ್ನು ನೀಡುತ್ತದೆ; ನಿಜವಾದ ರನ್ಟೈಮ್ ಬೆಂಬಲಿಸುವ SOCKS ಆವೃತ್ತಿಯನ್ನು ಆಯ್ಕೆಮಾಡಿ. SOCKS ವಿಳಾಸವು ಅದನ್ನು ತಲುಪಲು ಬಳಸುವ ಸಾಗಣೆಯನ್ನು ಸಂರಚಿಸುತ್ತದೆ; ಇದು HttpHost ಆಗಿ ಒದಗಿಸಿದ HTTP ಫಾರ್ವರ್ಡ್-ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗವಲ್ಲ.
ಇವು ಈ ನಿರ್ವಾಹಕದ ಡೀಫಾಲ್ಟ್ ಸಾಕೆಟ್ ಸೆಟ್ಟಿಂಗ್ಗಳು. ಪ್ರತಿ-ಮಾರ್ಗದ SocketConfig ರೆಸಾಲ್ವರ್ ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್ ಬಯಸಿದ SOCKS ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಆ ನೀತಿಯ ಮೂಲಕ ಅನ್ವಯಿಸಬೇಕು. ಉದಾಹರಣೆ ಸಂಪರ್ಕ ನಿರ್ವಾಹಕದ ಸಾಮಾನ್ಯ ಗಮ್ಯಸ್ಥಾನ DNS ನೀತಿಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ; ದೂರದ ಹೆಸರಿನ ಪರಿಹಾರಕ್ಕೆ ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಶೀಲಿಸಿದ ಸಂರಚನೆ ಬೇಕು.