ROME Feeds: poġġi l-proxy fuq il-klijent HTTP
Ħalli lill-klijent HTTP jieħu ħsieb ir-rotot tal-proxy u l-immaniġġjar tal-istat, imbagħad għaddi l-fluss u t-tip tal-kontenut tiegħu lill-qarrej XML ta' ROME.
ROME janalizza l-bytes tal-feed; ir-rotta tal-proxy u l-kont għandhom ikunu tal-klijent HTTP. Għal JDK HttpClient magħżul, proxy fiss imur fuq il-builder tiegħu:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
Għal test permess ta' feed pubbliku mingħajr awtentikazzjoni tal-proxy, ibdel il-host u l-port tal-post bl-ikel b'kandidat mil-lista tal-proxy HTTP. Żid l-awtentikazzjoni tad-deployment u l-limiti tat-talbiet ma' dak il-klijent. Wara li jikseb risposta aċċettabbli, għaddi l-fluss lil ROME:
try (XmlReader reader = new XmlReader(body, contentType)) {
SyndFeed feed = new SyndFeedInput().build(reader);
}
L-imports moderni huma com.rometools.rome.io.XmlReader u SyndFeedInput. Hawn body huwa l-InputStream li wasal u contentType huwa l-HTTP Content-Type. XmlReader iqis il-BOM, dawk il-metadata u d-dikjarazzjoni XML. Li tiddekodja l-ewwel b'charset arbitrarju jista' jwarrab provi utli.
Iċċekkja l-istat HTTP qabel l-analiżi. Inkella paġna tal-login tal-proxy jew ċaħda jistgħu jidhru bħala żball XML. Ħoll il-korpi għar-risposti miċħuda wkoll, sabiex żball HTTP ma jħallix il-fluss tiegħu miftuħ.
Żewġ sorsi ta' feed jistgħu jużaw klijenti kkonfigurati b'mod differenti mingħajr ma jbiddlu l-proprjetajiet tal-proxy tal-JVM bejn is-sejħiet. Kull klijent HTTP jippossjedi r-rotta tiegħu filwaqt li ROME jippossjedi l-pass tal-analiżi.