首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Ruby Net::Http下载会放大文件大小

通过Ruby Net::Http下载会放大文件大小
EN

Stack Overflow用户
提问于 2014-07-30 20:41:38
回答 1查看 216关注 0票数 0

我正在尝试使用Net::Http模块通过Http下载一个文件。我尝试下载的文件是http://public.dhe.ibm.com/ibmdl/export/pub/softwar...它的尺寸是25米。

当尝试使用下面的代码通过Ruby下载时,我发现Ruby -2.1.2p95的大小被放大到大约85M。现在,当尝试使用zlib utils归档(Zlib::GzipReader.open(Gem::Package::TarReader.new)) do |tar|解压这个归档文件时,它失败了,报告它不是gzip格式。

但是,当我在Ruby-1.9.3p429中尝试相同的代码时,它工作得很好,并且我能够看到一个25M大小的文件被成功下载和解压。

你知道哪里出问题了吗?我是不是遗漏了什么?

下载文件的代码:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2014-07-31 21:15:15

这是因为,如果Ruby-2.1.2中的Net::HTTP发现目标是gzip格式,它会自动解压缩文件。

为了避免解压缩,automatically....one需要将报头Accept-encoding设置为identity。

7stud对我在Ruby论坛上提出的相同问题的回答:https://www.ruby-forum.com/topic/5342548#1153921

谢谢

Praveen

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25037130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档