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);
}

جدید imports com.rometools.rome.io.XmlReader اور SyndFeedInput ہیں۔ یہاں body موصول شدہ InputStream ہے اور contentType HTTP Content-Type ہے۔ XmlReader BOM، اس میٹاڈیٹا اور XML اعلان کو مدنظر رکھتا ہے۔ پہلے کسی بھی charset سے ڈی کوڈ کرنے سے مفید شواہد ضائع ہو سکتے ہیں۔

تجزیے سے پہلے HTTP اسٹیٹس چیک کریں۔ ورنہ پراکسی لاگ ان صفحہ یا انکار XML خرابی کے طور پر ظاہر ہو سکتا ہے۔ مسترد شدہ جوابات کے لیے بھی باڈی جاری کریں، تاکہ HTTP خرابی اپنی اسٹریم کھلی نہ چھوڑے۔

دو فیڈ ذرائع کالوں کے درمیان JVM پراکسی خصوصیات بدلے بغیر مختلف طریقے سے ترتیب دیے گئے کلائنٹ استعمال کر سکتے ہیں۔ ہر HTTP کلائنٹ اپنے راستے کا مالک ہے جبکہ ROME تجزیے کے مرحلے کا مالک ہے۔

متعلقہ مضامین