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 פֿאַרמאָגט דעם פּאַרסונג־שריט.