1

我正在使用 struts1 做项目。我正在使用 ROME 获取 RSS 提要,但在两种情况下失败:

  1. 当我的防火墙禁止 rss url 时(响应码 403)
  2. 当我插入不正确的 rss 网址时

为了避免这种情况,我应该怎么做?

4

3 回答 3

0

有些情况你根本无法避免。

您无法避免网络中断,您无法避免错误键入的 URL。

但是,您可以做的是检查网络是否可达,以及 URL 是否输入正确。

您应该捕获异常并向用户提供有意义的错误消息。

于 2012-02-11T08:00:13.143 回答
0

只需捕获异常并处理它们。

于 2012-02-11T07:42:16.513 回答
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 字符串是
"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0";

于 2016-04-02T16:04:54.160 回答