我正在使用以 zip 格式(不是 gzip)压缩的 XML 响应的 Web 服务。我知道 Ruby 会自动解压缩 gzip 格式的响应,但我正在使用的服务没有 gzip 格式。
这是我用来获取服务响应的代码:
require 'net/http'
require 'uri'
require 'nokogiri'
xml = Nokogiri::XML::Builder.new do |xml|
xml.method {
xml.param1 'value1'
xml.param2 'value2'
}
end
url = URI.parse('http://url.to.webservice/')
request = Net::HTTP::Post.new(url.path)
request.content_type = 'text/xml'
request.body = xml.to_xml
response = Net::HTTP.new(url.host, url.port).start { |http| http.request(request) }
case response
when Net::HTTPSuccess, Net::HTTPRedirection
# Decompress Zip response
else
puts "Request error."
end
是否有使用 Ruby 解压缩 Zip 响应的内置方法?谢谢!