1

我正在尝试从 Twitter 获取图像:

open("http://api.twitter.com/1/users/profile_image/barackobama.png?size=bigger")

但我得到:

RuntimeError: redirection forbidden: http://... -> https://...

有一个未解决的问题,似乎我可以使用open_uri 的扩展,但我不知道它是如何工作的。例如,如果我将它放入lib/或将模块粘贴到控制台中,它仍然无法正常工作。任何想法?

4

1 回答 1

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指南中找到有关初始化程序文件的更多信息

于 2013-05-29T09:44:16.680 回答