1

我正在尝试阅读http://www.youm7.com/new3agelrss.asp使用Java 的 RSS 提要的 RSS 提要 - 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 Notifier 和 RSS Bot)并且都设法读取了该 RSS。

4

1 回答 1

1

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

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

于 2013-09-30T08:43:57.850 回答