图像无法正确下载Ruby

时间:2016-01-07 22:31:10

标签: ruby open-uri

我试图创建一个简单的程序,从Internet下载文件(图像)并使用Ruby将其存储在我的计算机上。我得到它下载的东西,但图像看起来很奇怪。我运行Windows 10和Ruby 2.2.3。这是我的代码:

require "open-uri"
require "openSSL"
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

File.open("test.jpg", "w+") do |f|
    open("https://upload.wikimedia.org/wikipedia/commons/c/c9/Moon.jpg","r") do |file|
        f.puts file.read
    end
end

这两行:

require "openSSL"
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

是解决我尝试通过https下载文件时出现此错误的问题:

C:/Ruby22-x64/lib/ruby/2.2.0/net/http.rb:923:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

非常欢迎更好的解决方案!

以下是我尝试下载此图片时的一个示例:https://upload.wikimedia.org/wikipedia/commons/c/c9/Moon.jpg下载的文件如下所示:test.jpg

但它似乎只发生在图像上。 HTML文件看起来完全一样。我知道图像看起来可能会有所不同,具体取决于文件类型,但URL以.jpg结尾,当您通过chrome下载时,它会以.jpg格式存储。

所有建议表示赞赏!

0 个答案:

没有答案