根据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)
答案 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版本。