gpt4 book ai didi

ruby-on-rails - 将 User-Agent 重写为所有打开的 URI 请求

转载 作者:太空宇宙 更新时间:2023-11-03 16:15:22 25 4
gpt4 key购买 nike

使用 Rails 4.2.10

感谢 mongoid,我想从 URL 打开图像papaerclipopen_uri

它在 95% 的用例中都能完美运行,但有些网站在看到 user-agent 时会向我发送 404。请求的是 Ruby .

问题出在库 paperclip => paperclip/io_adapters/uri_adapter.rb in download_content at line 48

def download_content
options = { read_timeout: Paperclip.options[:read_timeout] }.compact

open(@target, **options)
end

如果我可以在这里添加一个选项,那就太好了,但我认为这是不可能的,所以我想在我的 user-agent 中添加一个默认 header 。 open_uri 完成的所有请求

最佳答案

幸运的是,对于您的用例,在 ruby​​ 中没有针对修改而关闭的类。

在初始化程序中为您的 Rails 应用程序添加一个补丁。结构大致如下:

config/initializers/some_arbitrary_name.rb

module UriAdapterPatch
def open(url, options)
# alter the objects however you want
super(altered_or_original_url, altered_or_original_options)
end
end

Paperclip::UriAdapter.prepend(UriAdapterPatch)

关于ruby-on-rails - 将 User-Agent 重写为所有打开的 URI 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46560896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com