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