2012-02-11 14 views
1

私はstruts1を使ってプロジェクトをやっています。 私はRSSがROMEを使用していますが、二つの条件のために失敗したフィードをフェッチしています:私は回避するために間違ったRSSのURL ローマの例外を避ける方法

を挿入すると

  1. 私のファイアウォールが禁じられた場合、RSSのURL(レスポンスコード403)
  2. そのような条件私は何をすべきですか?

+1

ソースコードと実際のエラー? –

答えて

0

例外をキャッチして処理してください。

+0

okとは、ローマに再度電話してrssフィードを取得することを意味します –

0

単純に回避できない状況がいくつかあります。

ネットワークの停止を回避することはできません。誤って入力されたURLを避けることはできません。

ただし、ネットワークに接続できるかどうか、URLが正しく入力されているかどうかを確認することができます。

例外をキャッチして、意味のあるエラーメッセージをユーザーに提供する必要があります。

0

について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文字列は
"; WOW64 RVのMozilla/5.0(Windows NTの10.0:41.0)のGecko/20100101 Firefoxの/ 41.0" です。

関連する問題