ROME feed байттарын талдайт; прокси маршруту жана эсеп HTTP клиентине таандык болушу керек. Тандалган JDK HttpClient үчүн туруктуу прокси анын builderине коюлат:

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

Прокси аутентификациясыз уруксат берилген коомдук feed сынагы үчүн толтургуч хост жана портту 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 катасы агымын ачык калтырбашы үчүн.

Эки feed булагы чакыруулардын ортосунда JVM прокси касиеттерин өзгөртпөстөн ар кандай конфигурацияланган клиенттерди колдоно алат. Ар бир HTTP клиент өз маршрутуна ээ, ROME талдоо кадамына ээ.

Тектеш макалалар