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.

Artikli relatati