Net :: HTTP不会自动解压缩gzipped响应

时间:2014-01-29 17:27:58

标签: ruby-on-rails ruby gzip net-http

根据Net::HTTP文档的压缩部分,它应自动解压缩压缩响应。但是,当我尝试使用不同服务器的大量JSON请求时,我没有得到自动解压缩。

require 'net/http'
uri = URI("http://yourhost.com")
http = Net::HTTP.new(uri.host, uri.port)
res = http.get(uri.request_uri)

1 个答案:

答案 0 :(得分:1)

问题是由我的捆绑中的right_http_connection gem引起的。以下内容给出了IRB中正确的解码响应。

require 'net/http'
require 'uri'
uri = URI("http://vimeo.com/api/oembed.json?url=http://vimeo.com/69655841&width=150")
http = Net::HTTP.new(uri.host, uri.port)
res = http.get(uri.request_uri)
res.body

但是,要求right_http_connection开始提供gzipped响应。

require 'net/http'
require 'uri'
require 'right_http_connection'
uri = URI("http://vimeo.com/api/oembed.json?url=http://vimeo.com/69655841&width=150")
http = Net::HTTP.new(uri.host, uri.port)
res = http.get(uri.request_uri)
res.body

这是一个已知问题,其修复程序已经merged,但尚未发布包含该修补程序的较新的gem版本。