我正在尝试从Twitter上获取图片:
open("http://api.twitter.com/1/users/profile_image/barackobama.png?size=bigger")
但我明白了:
RuntimeError: redirection forbidden: http://... -> https://...
有一个open issue似乎我可以使用extension to open_uri,但我不知道它是如何工作的。例如,如果我将其放在lib/
中,或者如果我将模块粘贴到控制台中,它仍然无效。有什么想法吗?
答案 0 :(得分:0)
我认为放置此类补丁的正确位置是config/initializers
内的文件,即config/initializers/open_uri_allow_unsafe_redirects_patch.rb
。在重新打开require 'open-uri'
模块之前,您必须OpenURI
:
require 'open-uri'
module OpenURI
# the rest of the file here...
end
然后您必须致电open
,将allow_unsafe_redirects
选项设置为true
:
open('http://api.twitter.com/1/users/profile_image/barackobama.png?size=bigger',
allow_unsafe_redirects: true)
您可以在Ruby on Rails guide
上找到有关初始化程序文件的更多信息