ROME Feeds: ಪ್ರಾಕ್ಸಿಯನ್ನು HTTP ಕ್ಲೈಂಟ್ನಲ್ಲಿ ಇರಿಸಿ
HTTP ಕ್ಲೈಂಟ್ ಪ್ರಾಕ್ಸಿ ರೂಟಿಂಗ್ ಮತ್ತು ಸ್ಥಿತಿ ನಿರ್ವಹಣೆಯನ್ನು ನಿಭಾಯಿಸಲಿ, ನಂತರ ಅದರ ಸ್ಟ್ರೀಮ್ ಮತ್ತು ವಿಷಯ ಪ್ರಕಾರವನ್ನು ROME ನ XML ರೀಡರ್ಗೆ ನೀಡಿ.
ROME ಫೀಡ್ ಬೈಟ್ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತದೆ; ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗ ಮತ್ತು ಖಾತೆ HTTP ಕ್ಲೈಂಟ್ನದ್ದಾಗಿರಬೇಕು. ಆಯ್ಕೆ ಮಾಡಿದ JDK HttpClient ಗಾಗಿ, ಸ್ಥಿರ ಪ್ರಾಕ್ಸಿ ಅದರ builder ಮೇಲೆ ಇರುತ್ತದೆ:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣವಿಲ್ಲದೆ ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ ಫೀಡ್ ಪರೀಕ್ಷೆಗಾಗಿ, ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್ ಅನ್ನು HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ ಅಭ್ಯರ್ಥಿಯೊಂದಿಗೆ ಬದಲಾಯಿಸಿ. ಆ ಕ್ಲೈಂಟ್ಗೆ ನಿಯೋಜನೆಯ ದೃಢೀಕರಣ ಮತ್ತು ವಿನಂತಿ ಮಿತಿಗಳನ್ನು ಸೇರಿಸಿ. ಸ್ವೀಕಾರಾರ್ಹ ಪ್ರತಿಕ್ರಿಯೆ ಸಿಕ್ಕ ನಂತರ, ಸ್ಟ್ರೀಮ್ ಅನ್ನು ROME ಗೆ ನೀಡಿ:
try (XmlReader reader = new XmlReader(body, contentType)) {
SyndFeed feed = new SyndFeedInput().build(reader);
}
ಆಧುನಿಕ imports com.rometools.rome.io.XmlReader ಮತ್ತು SyndFeedInput. ಇಲ್ಲಿ body ಸ್ವೀಕರಿಸಿದ InputStream ಮತ್ತು contentType HTTP Content-Type. XmlReader BOM, ಆ ಮೆಟಾಡೇಟಾ ಮತ್ತು XML ಘೋಷಣೆಯನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ. ಮೊದಲು ಅನಿಯಂತ್ರಿತ charset ನಿಂದ ಡಿಕೋಡ್ ಮಾಡುವುದು ಉಪಯುಕ್ತ ಸಾಕ್ಷ್ಯವನ್ನು ಬಿಸಾಡಬಹುದು.
ವಿಶ್ಲೇಷಣೆಗೆ ಮೊದಲು HTTP ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಿ. ಇಲ್ಲದಿದ್ದರೆ ಪ್ರಾಕ್ಸಿ ಲಾಗಿನ್ ಪುಟ ಅಥವಾ ನಿರಾಕರಣೆ XML ದೋಷವಾಗಿ ಕಾಣಿಸಬಹುದು. ತಿರಸ್ಕೃತ ಪ್ರತಿಕ್ರಿಯೆಗಳಿಗೂ ಬಾಡಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿ, HTTP ದೋಷವು ತನ್ನ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ತೆರೆದಿಡದಂತೆ.
ಎರಡು ಫೀಡ್ ಮೂಲಗಳು ಕರೆಗಳ ನಡುವೆ JVM ಪ್ರಾಕ್ಸಿ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಬದಲಿಸದೆ ವಿಭಿನ್ನವಾಗಿ ಸಂರಚಿಸಿದ ಕ್ಲೈಂಟ್ಗಳನ್ನು ಬಳಸಬಹುದು. ಪ್ರತಿ HTTP ಕ್ಲೈಂಟ್ ತನ್ನ ಮಾರ್ಗವನ್ನು ಹೊಂದಿದ್ದರೆ ROME ವಿಶ್ಲೇಷಣೆಯ ಹಂತವನ್ನು ಹೊಂದಿದೆ.