ROME parst d'Feed-Bytes; d'Proxy-Route an de Kont gehéieren zum HTTP-Client. Fir en ausgewielten JDK HttpClient gehéiert e feste Proxy op säi Builder:

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

Fir en erlaabten ëffentlechen Feed-Test ouni Proxy-Authentifikatioun ersetzt de Plazhalter-Host an -Port duerch e Kandidat aus der HTTP-Proxy-Lëscht. Füügt dem Client d'Authentifikatioun vum Deployment an d'Ufro-Limitten derbäi. Nodeems en eng akzeptabel Äntwert kritt huet, gitt de Stream un ROME:

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

Déi modern Importer sinn com.rometools.rome.io.XmlReader an SyndFeedInput. Hei ass body den empfangenen InputStream an contentType ass den HTTP Content-Type. Den XmlReader berücksichtegt d'BOM, déi Metadaten an d'XML-Deklaratioun. Wien als éischt mat engem beliebegen Charset dekodéiert, kann nëtzlech Beweiser verwerfen.

Iwwerpréift den HTTP-Status virum Parsen. Soss kann eng Proxy-Anmeldungssäit oder eng Oflehnung als XML-Fehler erschéngen. Gitt och d'Kierper fir ofgeleent Äntwerten fräi, sou datt en HTTP-Fehler säi Stream net oppe léisst.

Zwou Feed-Quellen kënnen ënnerschiddlech konfiguréiert Cliente benotzen, ouni d'JVM-Proxy-Eegeschaften tëscht den Opruffer ze veränneren. All HTTP-Client besëtzt seng Route, während ROME de Parsing-Schrëtt besëtzt.

Ähnlech Artikelen