ROME huchanganua baiti za feed; njia ya proksi na akaunti zinapaswa kuwa za mteja wa HTTP. Kwa JDK HttpClient iliyochaguliwa, proksi isiyobadilika huwekwa kwenye builder yake:

HttpClient client = HttpClient.newBuilder()
    .proxy(ProxySelector.of(
        new InetSocketAddress("proxy.example", 8080)))
    .build();

Kwa jaribio la feed la umma linaloruhusiwa bila uthibitishaji wa proksi, badilisha mwenyeji na bandari ya nafasi kwa mwombaji kutoka orodha ya proksi za HTTP. Ongeza uthibitishaji wa usambazaji na mipaka ya maombi kwenye mteja huyo. Baada ya kupata jibu linalokubalika, toa mtiririko kwa ROME:

try (XmlReader reader = new XmlReader(body, contentType)) {
    SyndFeed feed = new SyndFeedInput().build(reader);
}

Import za kisasa ni com.rometools.rome.io.XmlReader na SyndFeedInput. Hapa body ni InputStream iliyopokelewa na contentType ni HTTP Content-Type. XmlReader huzingatia BOM, metadata hizo na tangazo la XML. Kusimbua kwanza kwa charset ya kiholela kunaweza kutupa ushahidi muhimu.

Kagua hali ya HTTP kabla ya kuchanganua. Vinginevyo ukurasa wa kuingia wa proksi au kukataliwa unaweza kuonekana kama hitilafu ya XML. Toa miili kwa majibu yaliyokataliwa pia, ili hitilafu ya HTTP isiache mtiririko wake wazi.

Vyanzo viwili vya feed vinaweza kutumia wateja waliowekwa tofauti bila kubadilisha sifa za proksi za JVM kati ya simu. Kila mteja wa HTTP anamiliki njia yake huku ROME ikimiliki hatua ya uchanganuzi.

Makala zinazohusiana