http response throw error with broken gzip compressed block(but can decompress)
I meet a exception case for gzip compress, Ruby throws Zlib::BufError
Actually, I think this is not ruby's bug.
because this site make some weird gzip compressed block.
but major browser can handle this site well.
so, I this it is better to handle this case in Ruby also.
I found two things but it is because of weird compress block.
first, even though, it meets end of block, it just return Z_OK.
so, ruby zlib binding can't return last data block.
so I add code for returning last block in this case.
second. finish causes Zlib::BufError exception in this case.
so I catch this Exception only when finish causes Zlib::BufError
and I found one more thing.
Ruby 1.8.x run below code well. But ruby 2.x can't
(I just guess, it is unintented side effect to push block code for inflate)
require 'net/https' require 'open-uri' url = "http://xe.sketchbooks.co.kr/806541" uri = URI.parse(url.to_s) http = Net::HTTP::new(uri.host, uri.port) http_get = Net::HTTP::Get.new(uri.request_uri) response = http.request(http_get)