【问题标题】:Too many redirects to reuters rss web services太多重定向到路透社 rss 网络服务
【发布时间】:2011-05-12 15:27:40
【问题描述】:

在路透社的 RSS 网络服务中,从某些国家/地区加载 RSS 提要会在 UI 和背景上加载 RSS 提要时引发 java.net.ProtocolException: Too many redirects。 (特别是在两个国家/地区的情况下:INDIAUSA)。

我该如何解决这个问题?有没有人成功解决了这个问题。

提前致谢。

【问题讨论】:

  • 您能否提供一个失败的 RSS URL 示例?此错误通常是由循环重定向 A->B->C->A 引起的,但由于它仅适用于某些国家/地区,因此您可能只是获得了足够的重定向来达到内部限制。您可能能够遵循重定向的路径并从更下游的 URL 开始...
  • 您是否尝试过使用 HttpClient 类?这个错误感觉可能来自HttpUrlConnection
  • @CommonsWare 我使用工厂方法来解析 RSS 提要的 xml,这里是它的代码 URL url = new URL(urlString); InputSource inputSource = new InputSource(url.openStream()); 这个代码进一步用于 Document (org.w3c.Document) 解析。在这种情况下,您提出什么替代方案?
  • 您可能会考虑切换到 HttpClient,因为它内置于 Android 中,并且是 Google 推荐的 HTTP 请求选择。我认为您可以通过多种方式对其处理重定向的方式进行更细粒度的控制,尽管我尚未遇到您的具体问题,因此不知道它是否对您的情况有所帮助。
  • @CommonsWare:谢谢,您的建议只需对代码进行一点调整即可。我在我的集​​中式方法中应用了这种调整,它就像一个魅力。

标签: android rss reuters


【解决方案1】:

(在 cmets 中回答的问题。转换为社区 wiki 答案。见 Question with no answers, but issue solved in the comments (or extended in chat)

@CommonsWare 写道:

您是否尝试过使用 HttpClient 类?这个错误感觉可能来自HttpUrlConnection

您可能会考虑切换到 HttpClient,因为它内置于 Android 中,并且是 Google 推荐的 HTTP 请求选择。我认为您可以通过多种方式对其处理重定向的方式进行更细粒度的控制,尽管我还没有遇到您的具体问题,因此不知道它是否会对您的情况有所帮助。

OP 写道:

我使用工厂方法来解析RSS提要的xml,这里是它的代码URL url = new URL(urlString); InputSource inputSource = new InputSource(url.openStream());这个代码进一步用于文档(org.w3c.Document)解析。

谢谢,您的建议只需对代码进行一些调整即可。我已经在我的集中式方法中应用了这种调整,它就像一个魅力。

【讨论】:

    猜你喜欢
    • 2012-04-08
    • 2018-04-13
    • 1970-01-01
    • 2018-11-22
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 2023-03-25
    相关资源
    最近更新 更多