ROME Feeds: saka wakili a kan abokin ciniki na HTTP
Ka bar abokin ciniki na HTTP ya mallaki hanyar wakili da kula da matsayi, sannan ka ba da rafinsa da nau'in abun ciki ga mai karanta XML na ROME.
ROME yana nazarin baytocin feed; hanyar wakili da asusu ya kamata su kasance na abokin ciniki na HTTP. Don JDK HttpClient da aka zaɓa, wakili tabbatacce yana kan builder ɗinsa:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
Don gwajin jama'a da aka yarda ba tare da tabbatarwar wakili ba, maye gurbin mai masaukin wuri da tashar jiragen ruwa da ɗan takara daga jerin wakilan HTTP. Ƙara tabbatarwar turawa da iyakokin buƙatu ga wannan abokin ciniki. Bayan ya sami amsa mai karɓuwa, ba da rafin ga ROME:
try (XmlReader reader = new XmlReader(body, contentType)) {
SyndFeed feed = new SyndFeedInput().build(reader);
}
Imports na zamani sune com.rometools.rome.io.XmlReader da SyndFeedInput. A nan body shine InputStream da aka karɓa kuma contentType shine HTTP Content-Type. XmlReader yana la'akari da BOM, waɗannan metadata da sanarwar XML. Yin decoding da charset na son rai da farko na iya zubar da shaida mai amfani.
Duba matsayin HTTP kafin nazari. In ba haka ba, shafin shiga wakili ko ƙin yarda na iya fitowa a matsayin kuskuren XML. Saki jikin don amsoshin da aka ƙi ma, don kuskuren HTTP kar ya bar rafinsa a buɗe.
Maɓuɓɓugan feed guda biyu na iya amfani da abokan ciniki da aka saita daban ba tare da canza halayen wakilin JVM tsakanin kira ba. Kowanne abokin ciniki na HTTP ya mallaki hanyarsa yayin da ROME ke mallakar matakin nazari.