RSS阅读器403和503错误

时间:2013-09-30 08:28:06

标签: java android rss httpurlconnection rss-reader

我正在尝试使用RSS feeds with Java - Tutorial阅读http://www.youm7.com/new3agelrss.asp的RSS Feed  对于Lars Vogel。

我设法使用确切的代码读取另一个RSS订阅源而没有问题。

对于这个链接,我得到了

  

服务器返回HTTP响应代码:403为URL:http://www.youm7.com/new3agelrss.asp

根据java.io.IOException: Server returned HTTP response code: 403 for URL我编辑的private InputStream read()方法如下:

private InputStream read() {
    try {

      HttpURLConnection httpcon = (HttpURLConnection) url.openConnection();
      httpcon.addRequestProperty("User-Agent", "Mozilla/4.76");
      return httpcon.getInputStream();
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
  }

现在我得到了:

  

服务器返回HTTP响应代码:503为URL:http://www.youm7.com/new3agelrss.asp

即使我可以打开Url抛出网络浏览器!你可以自己尝试一下。 请帮忙。我对任何替代方法持开放态度。 提前谢谢。

注意:

  

我在Mac上安装了两个RSS阅读器应用程序。 (RSS通知和   RSS Bot)并且都设法读取了RSS。

1 个答案:

答案 0 :(得分:1)

您的代码可能适用于大多数网站。然而,这个网站看起来正在检查并在重定向之前在页面上运行一些javascript(可能试图阻止人们抓取它)。所以我不确定这是否会起作用,除非你可以设置他们正在设置的cookie,或者模仿他们期望的响应(我不确定你是否可以访问任何可以运行javascript的内容绕过它也好。)

更新:在看到它时会有一些挑战/回应,这引发了一个问题(就像一些需要加起来的数字)。我想你可能会看到抓取原始页面,进行计算并发回一个表格和答案。我不确定我是否想要发布一个解决方案,因为它看起来像是在那里完全尝试并阻止它。此外,他们可以轻松更改挑战问题/格式。因此,如果可能的话,以某种方式运行javascript可能是最好的方式。