2

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

4

3 回答 3

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']

感谢那些回答的人...

于 2009-04-13T18:57:30.013 回答
1

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

Accept-Encoding: gzip,deflate

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

编辑:实际上,根据ruby​​ 文档,如果您不指定其他“接受编码”标头,则此标头是发送的默认标头的一部分。

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

于 2009-04-04T19:47:46.500 回答
0

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

于 2009-04-05T04:23:06.743 回答