ROME Feeds፦ ፕሮክሲውን በHTTP ደንበኛ ላይ ያድርጉ
የHTTP ደንበኛው የፕሮክሲ መንገድ እና የሁኔታ አያያዝን እንዲይዝ ይፍቀዱ፣ ከዚያ ዥረቱንና የይዘት አይነቱን ለROME የXML አንባቢ ያስተላልፉ።
ROME የfeed ባይቶችን ይተነትናል፤ የፕሮክሲ መንገዱና ሂሳቡ በHTTP ደንበኛው መያዝ አለባቸው። ለተመረጠ JDK HttpClient ቋሚ ፕሮክሲ በbuilder-ው ላይ ይቀመጣል፦
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
ያለ ፕሮክሲ ማረጋገጫ ለሚፈቀድ የሕዝብ feed ሙከራ፣ የቦታ ያዥ አስተናጋጁንና ወደቡን ከየ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-ውን፣ ያንን metadata እና የXML መግለጫውን ግምት ውስጥ ያስገባል። በዘፈቀደ charset መጀመሪያ መፍታት ጠቃሚ ማስረጃን ሊያስወግድ ይችላል።
ከመተንተን በፊት የHTTP ሁኔታን ይመርምሩ። የፕሮክሲ መግቢያ ገጽ ወይም እምቢታ አለበለዚያ እንደ XML ስህተት ሊታይ ይችላል። ውድቅ ለተደረጉ ምላሾችም አካላቱን ይልቀቁ፣ የHTTP ስህተት ዥረቱን ክፍት እንዳይተው።
ሁለት የfeed ምንጮች በጥሪዎች መካከል የJVM ፕሮክሲ ባህሪያትን ሳይቀይሩ በተለያየ መንገድ የተዋቀሩ ደንበኞችን ሊጠቀሙ ይችላሉ። እያንዳንዱ HTTP ደንበኛ መንገዱን ይይዛል፣ ROME ደግሞ የመተንተን ደረጃውን ይይዛል።