ROME Feeds: fi proxy sori HTTP client
Jẹ ki HTTP client ṣakoso ipa-ọna proxy ati mimu ipo, lẹhinna fi ṣiṣan rẹ ati iru akoonu rẹ ranṣẹ si ROME XML reader.
ROME ṣe ayẹwo awọn baiti feed; ipa-ọna proxy ati akọọlẹ yẹ ki o jẹ ti HTTP client. Fun JDK HttpClient ti a yan, proxy ti o wa titi wa lori builder rẹ:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
Fun idanwo feed gbangba ti a gba laaye laisi ijẹrisi proxy, rọpo host ati port afojusun pẹlu oludije lati akojọ proxy HTTP. Fi ijẹrisi imuṣiṣẹ ati awọn opin ibeere kun si client yẹn. Lẹhin ti o ba gba esi itẹwọgba, fi ṣiṣan naa fun ROME:
try (XmlReader reader = new XmlReader(body, contentType)) {
SyndFeed feed = new SyndFeedInput().build(reader);
}
Awọn import ode oni ni com.rometools.rome.io.XmlReader ati SyndFeedInput. Nibi body ni InputStream ti a gba ati contentType ni HTTP Content-Type. XmlReader ṣe akiyesi BOM, metadata yẹn ati ikede XML. Yiyipada pẹlu charset lainidi ni akọkọ le da ẹri ti o wulo nu.
Ṣayẹwo ipo HTTP ṣaaju ṣiṣe ayẹwo. Bibẹẹkọ oju-iwe iwọle proxy tabi kiko le farahan bi aṣiṣe XML. Tu awọn ara silẹ fun awọn esi ti a kọ silẹ paapaa, ki aṣiṣe HTTP ma ṣe fi ṣiṣan rẹ silẹ ni ṣiṣi.
Awọn orisun feed meji le lo awọn client ti a ṣeto yatọ laisi yiyipada awọn ohun-ini proxy JVM laarin awọn ipe. Gbogbo HTTP client ni ipa-ọna tirẹ nigba ti ROME ni igbesẹ ayẹwo.