1

Feedjira の fetch_and_parse メソッドを使用してアプリで RSS フィードを解析していますが、フィードする一部の RSS フィードは別のフィード URL にリダイレクトするフィード URL であり、Feedjira はこれらのリダイレクトに従わず、fetch_and_parse が失敗します。Feedjira が RSS リダイレクトに従うようにする方法はありますか?

4

1 に答える 1

1

私はこれと同じ問題に遭遇し、(Faraday を使用して) フィードを手動でフェッチFeedJira::Feed.parseし、結果の XMLで呼び出すことで解決しました。

def fetch(host, url)
  conn = Faraday.new(:url => host) do |faraday|
    faraday.use FaradayMiddleware::FollowRedirects, limit: 3
  end

  response = conn.get url
  return response.body
end

xml = fetch("http://www.npr.org", "/templates/rss/podcast.php?id=510298")
podcast = Feedjira::Feed.parse(xml)

Feedjira のconnectionメソッドにモンキー パッチを適用して同じことを行うこともできますが、お勧めしません。

module Feedjira
  class Feed
    def self.connection(url)
      Faraday.new(url: url) do |conn|
        conn.use FaradayMiddleware::FollowRedirects, limit: 3
      end
    end
  end
end

podcast = Feedjira::Feed.fetch_and_parse("http://www.npr.org/templates/rss/podcast.php?id=510298")
于 2015-12-03T04:57:50.723 に答える