ROME Feeds: dhig proxy-ga macmiilka HTTP
U ogolow macmiilka HTTP inuu maamulo dariiqa proxy-ga iyo maaraynta xaaladda, ka dibna u gudbi qulqulkiisa iyo nooca nuxurkiisa akhristaha XML ee ROME.
ROME wuxuu falanqeeyaa baytiga feed-ka; dariiqa proxy-ga iyo akoonka waa in ay lahaadaan macmiilka HTTP. JDK HttpClient la doortay, proxy go'an waxa uu ku yaal builder-kiisa:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
Tijaabo feed dadweyne oo la ogolaaday oo aan lahayn aqoonsiga proxy-ga, ku beddel host-ka iyo port-ka tusaalaha musharrax ka mid ah liiska proxy-ga HTTP. Ku dar aqoonsiga deployment-ka iyo xaddidaadda codsiyada macmiilkaas. Ka dib marka uu helo jawaab la aqbali karo, u gudbi qulqulka ROME:
try (XmlReader reader = new XmlReader(body, contentType)) {
SyndFeed feed = new SyndFeedInput().build(reader);
}
Imports-ka casriga ah waa com.rometools.rome.io.XmlReader iyo SyndFeedInput. Halkan body waa InputStream-ka la helay iyo contentType waa HTTP Content-Type. XmlReader wuxuu tixgeliyaa BOM-ka, metadata-kaas iyo caddaynta XML. In marka hore lagu decode-gareeyo charset aan loo baahnayn waxay tuuri kartaa caddayn faa'iido leh.
Hubi xaaladda HTTP ka hor falanqaynta. Haddii kale bogga gelitaanka proxy-ga ama diidmo ayaa u muuqan kara qalad XML. Sii daaya jirka jawaabaha la diiday sidoo kale, si qalad HTTP uusan uga tegin qulqulkiisa furan.
Laba ilo feed ah ayaa isticmaali kara macmiilal si kala duwan loo habeeyay iyaga oo aan beddelin sifooyinka proxy-ga JVM inta u dhaxaysa wicitaannada. Macmiil kasta oo HTTP ah wuxuu leeyahay dariiqiisa halka ROME uu leeyahay tallaabada falanqaynta.