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 ले पार्सिङ चरणको।