如何让 Feedjira 跟随重定向?
How to get Feedjira to follow redirects?
我正在使用 Feedjira 的 fetch_and_parse 方法在我的应用程序中解析 RSS 提要,但我提供给它的一些 RSS 提要是重定向到另一个提要 URL 的提要 URLS,并且 Feedjira 不遵循这些重定向,我的 fetch_and_parse 失败了。有没有办法让 Feedjira 跟随 RSS 重定向?
我 运行 遇到了同样的问题,并通过手动获取提要(使用法拉第)并调用 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")
我正在使用 Feedjira 的 fetch_and_parse 方法在我的应用程序中解析 RSS 提要,但我提供给它的一些 RSS 提要是重定向到另一个提要 URL 的提要 URLS,并且 Feedjira 不遵循这些重定向,我的 fetch_and_parse 失败了。有没有办法让 Feedjira 跟随 RSS 重定向?
我 运行 遇到了同样的问题,并通过手动获取提要(使用法拉第)并调用 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")