我正在尝试编写一个 ruby 脚本,该脚本使用net/http
. 我的代码如下所示:
require 'open-uri'
require 'net/http'
url = URI.parse asset
res = Net::HTTP.start(url.host, url.port) {|http|
http.get(asset)
}
headers = res.to_hash
p headers
我想从这个请求中获得两条信息:膨胀内容的总长度,以及(视情况而定)压缩内容的长度。
有时,标头会包含一个content-length
参数,该参数似乎是内容的压缩长度。我还可以使用 res.body.length 来估计内容的膨胀大小,但这并不是万无一失的。上的文档net/http
说 gzip 标头会自动从列表中删除(帮助我,谢谢)所以我似乎无法可靠地处理这些信息。
任何帮助表示赞赏(包括其他宝石,如果他们更容易做到这一点)。