ROME Feeds: ප්රොක්සි HTTP සේවාදායකයට තබන්න
ප්රොක්සි මාර්ගකරණය සහ තත්ත්ව හැසිරවීම HTTP සේවාදායකයට භාර දී, පසුව එහි stream සහ අන්තර්ගත වර්ගය ROME හි XML කියවනයට ලබා දෙන්න.
ROME ෆීඩ් බයිට් විශ්ලේෂණය කරයි; ප්රොක්සි මාර්ගය සහ ගිණුම HTTP සේවාදායකයට අයත් විය යුතුය. තෝරාගත් JDK HttpClient සඳහා, ස්ථිර ප්රොක්සිය එහි builder මත තබයි:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
ප්රොක්සි සත්යාපනයකින් තොරව අනුමත පොදු ෆීඩ් පරීක්ෂණයක් සඳහා, ස්ථාන රඳවන සත්කාරකය සහ වරාය HTTP ප්රොක්සි ලැයිස්තුවෙන් අපේක්ෂකයෙකු සමඟ ප්රතිස්ථාපනය කරන්න. එම සේවාදායකයට යෙදවුමේ සත්යාපනය සහ ඉල්ලීම් සීමා එක් කරන්න. පිළිගත හැකි ප්රතිචාරයක් ලැබුණු පසු, stream එක 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 දෝෂයක් ලෙස පෙනෙන්නට පුළුවන. ප්රතික්ෂේපිත ප්රතිචාර සඳහා ද body නිදහස් කරන්න, HTTP දෝෂයක් එහි stream විවෘතව නොතබන පිණිස.
ෆීඩ් මූලාශ්ර දෙකකට ඇමතුම් අතර JVM ප්රොක්සි ගුණාංග වෙනස් නොකර වෙනස් ලෙස වින්යාසගත සේවාදායක භාවිත කළ හැක. සෑම HTTP සේවාදායකයක්ම එහි මාර්ගය හිමිකර ගන්නා අතර ROME විශ්ලේෂණ පියවර හිමිකර ගනී.