簡體   English   中英

如何避免羅馬例外

[英]How to avoid rome exception

我正在使用struts1進行項目。 我正在使用ROME獲取RSS feed,但由於以下兩種情況而失敗:

  1. 當我的防火牆禁止RSS網址時(響應代碼403)
  2. 當我插入錯誤的rss網址時

為了避免這種情況,我該怎么辦?

約403
某些提要似乎具有某種保護(對於DDOS),因此基於用戶代理(在您的情況下為“ Java”),它們拒絕您閱讀提要。因此,在打開連接之前,您必須設置自己的用戶代理(如firefox用戶代理)像這樣

 System.setProperty("http.agent", USER_AGENT);
 URLConnection openConnection = url.openConnection();
 is = url.openConnection().getInputStream();
 if ("gzip".equals(openConnection.getContentEncoding())) {
     is = new GZIPInputStream(is);
 }
 InputSource source = new InputSource(is);
 input = new SyndFeedInput();
 syndicationFeed = input.build(source);
 XmlReader reader = new XmlReader(url);
 syndicationFeed = input.build(reader);

我當前的USER_AGENT字符串是
“ Mozilla / 5.0(Windows NT 10.0; WOW64; rv:41.0)Gecko / 20100101 Firefox / 41.0”;

捕獲異常並處理它們即可。

在某些情況下,您根本無法避免。

您無法避免網絡中斷,也無法避免錯誤輸入網址。

但是,您可以做的是檢查網絡是否可以訪問以及URL的鍵入是否正確。

您應該捕獲異常並向用戶提供有意義的錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM