ROME feed baytlarını ayrıştırır; proxy rotası ve hesap HTTP istemcisine ait olmalıdır. Seçilen bir JDK HttpClient için sabit proxy, onun builder'ına konur:

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

Proxy kimlik doğrulaması olmadan izin verilen bir genel feed testi için yer tutucu ana bilgisayarı ve bağlantı noktasını HTTP proxy listesinden bir adayla değiştirin. Bu istemciye dağıtımın kimlik doğrulamasını ve istek sınırlarını ekleyin. Kabul edilebilir bir yanıt aldıktan sonra akışı ROME'a verin:

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

Modern import'lar com.rometools.rome.io.XmlReader ve SyndFeedInput'tür. Burada body alınan InputStream, contentType ise HTTP Content-Type'tır. XmlReader BOM'u, bu üst verileri ve XML bildirimini dikkate alır. Önce rastgele bir charset ile kod çözmek yararlı kanıtları çöpe atabilir.

Ayrıştırmadan önce HTTP durumunu inceleyin. Aksi halde bir proxy oturum açma sayfası veya ret, XML hatası olarak görünebilir. Reddedilen yanıtların gövdelerini de serbest bırakın; böylece bir HTTP hatası akışını açık bırakmaz.

İki feed kaynağı, çağrılar arasında JVM proxy özelliklerini değiştirmeden farklı yapılandırılmış istemciler kullanabilir. Her HTTP istemcisi kendi rotasına, ROME ise ayrıştırma adımına sahiptir.

İlgili makaleler