通过Ruby Net::Http下载会增大文件大小
我正在尝试使用Net::Http模块通过Http下载文件。这个 我试图下载的文件是 ... 它的尺寸是25米 当尝试使用下面的代码通过Ruby下载时,我在Ruby中看到了这一点 -2.1.2p95尺寸放大至约85米。现在当你试图解救的时候 使用zlib utils[Gem::Package::TarReader.new( Zlib::GzipReader.open(archive))do | tar |]它失败了,因为它是 不是gzip格式 但是,当我在Ruby-1.9.3p429中尝试相同的代码时,它工作得很好,我就是 能够查看已下载并成功卸载的2500万个文件 知道出了什么问题吗?我错过什么了吗 下载文件的代码:通过Ruby Net::Http下载会增大文件大小,ruby,file,http,download,Ruby,File,Http,Download,我正在尝试使用Net::Http模块通过Http下载文件。这个 我试图下载的文件是 ... 它的尺寸是25米 当尝试使用下面的代码通过Ruby下载时,我在Ruby中看到了这一点 -2.1.2p95尺寸放大至约85米。现在当你试图解救的时候 使用zlib utils[Gem::Package::TarReader.new( Zlib::GzipReader.open(archive))do | tar |]它失败了,因为它是 不是gzip格式 但是,当我在Ruby-1.9.3p429中尝试相同的代
def downloadCLIPackage(destination)
uri =
URI.parse("http://public.dhe.ibm.com/ibmdl/export/pub/softwar...)
filename = "/home/praveend/clidriver.tar.gz"
http_object = Net::HTTP.new(uri.host, uri.port)
http_object.use_ssl = true if uri.scheme == 'https'
response = Net::HTTP.get_response(uri)
f = open(filename, 'wb')
f.write(response.body)
f.close()
filename
end
谢谢
Praveen发生这种情况的原因是,如果Ruby-2.1.2中的Net::HTTP发现目标为gzip格式,它会自动解压缩文件 为了避免自动反压缩…需要将标头Accept encoding设置为identity 7stud回答了我在Ruby论坛上提出的相同问题: 谢谢
Praveen之所以会发生这种情况,是因为Net::HTTP在看到数据属于gzip类型时会自动解压缩数据。感谢ruby irc频道上的@yorickpeterse在这方面的帮助。但这仍然不能帮助我实现端到端的工作。任何人都知道我如何将这些未删减的内容[它包含目录,我想保留树结构]保存到磁盘上并加以利用?谢谢你,普拉文