我正在使用 Feedjira 的 fetch_and_parse 方法在我的应用程序中解析 RSS 提要,但我提供给它的一些 RSS 提要是重定向到另一个提要 URL 的提要 URL,而 Feedjira 不遵循这些重定向并且我的 fetch_and_parse 失败。有没有办法让 Feedjira 遵循 RSS 重定向?
问问题
225 次
1 回答
1
我遇到了同样的问题,并通过手动获取提要(使用法拉第)并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 回答