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، هغه میټاډاټا او د XML اعلان په پام کې نیسي. لومړی په خپل سري charset سره ډیکوډ کول کېدای شي ګټور شواهد له لاسه ورکړي.
له تحلیل مخکې د HTTP حالت وګورئ. که نه، د پروکسي ننوتلو پاڼه یا رد کېدل کېدای شي د XML غلطۍ په توګه ښکاره شي. د رد شوو ځوابونو لپاره هم بدنونه خوشې کړئ، ترڅو د HTTP غلطي خپل جریان پرانیستی نه پرېږدي.
دوه feed سرچینې کولای شي د غوښتنو ترمنځ د JVM پروکسي ځانګړنې نه بدلوي او په بېلابېلو ډولونو تنظیم شوي کلاینټونه وکاروي. هر HTTP کلاینټ خپله لار لري، پداسې حال کې چې ROME د تحلیل ګام لري.