如何通过ruby脚本从Web服务器请求gzip压缩页面?

时间:2009-04-04 19:40:19

标签: ruby http compression gzip

我有一个ruby脚本可以保存来自各个站点的网页,我如何确保它检查服务器是否可以发送gzip压缩文件并保存它们(如果可用)... 任何帮助都会很棒!

3 个答案:

答案 0 :(得分:5)

可以将自定义标题发送为哈希...

custom_request = Net::HTTP::Get.new(url.path, {"Accept-Encoding" => "gzip"})

然后,您可以通过将响应对象定义为:

来检查响应
response = Net::HTTP.new(url.host, url.port).start do |http| 
http.request(custom_request) 
end 

p [response['Content-Encoding']

感谢那些回复......

答案 1 :(得分:1)

您需要在请求中发送以下标题:

Accept-Encoding: gzip,deflate

但是,我仍然在阅读如何编写ruby代码,并且不知道如何在net / http库中使用头文件语法(我假设您使用它来发出请求)

编辑: 实际上,根据ruby doc,如果您没有指定其他“accept-encoding”标头,则此标头会显示为默认标头的一部分。

然后,就像我在原来的答案中说的那样,我仍然只是在阅读这个主题,所以我可能错了。

答案 2 :(得分:0)

对于抓取网页并使用它们进行操作,ScrubyIt非常棒。