ROME парсира бајтове фида; прокси рута и налог треба да припадају HTTP клијенту. За изабрани JDK HttpClient фиксни прокси иде на његов builder:

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

За дозвољен тест јавног фида без прокси аутентификације замените заменски хост и порт кандидатом са листе HTTP проксија. Додајте аутентификацију имплементације и ограничења захтева том клијенту. Након што добије прихватљив одговор, предајте ток ROME-у:

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

Модерни увози су com.rometools.rome.io.XmlReader и SyndFeedInput. Овде је body примљени InputStream, а contentType је HTTP Content-Type. XmlReader узима у обзир BOM, те метаподатке и XML декларацију. Декодирање прво произвољним charset-ом може одбацити корисне доказе.

Проверите HTTP статус пре парсирања. Иначе се прокси страница за пријаву или одбијање могу појавити као XML грешка. Ослободите тела и за одбијене одговоре, да HTTP грешка не остави ток отвореним.

Два извора фида могу користити различито конфигурисане клијенте без мењања JVM прокси својстава између позива. Сваки HTTP клијент поседује своју руту, док ROME поседује корак парсирања.

Повезани чланци