如何防止GAE解压缩gzip xml提要?

时间:2012-02-28 05:54:49

标签: http google-app-engine cron gzip

我在GAE上有一个脚本,它请求来自合作伙伴的XML Feed,该合作伙伴通常为40MB,但只有5MB gzip。 GAE会自动解压缩此内容并抛出响应过大的错误:

  

HTTP响应太大:46677241。限制为:33554432。

脚本设置为解压缩响应本身。如何防止GAE妨碍和破坏?

以下是我的合作伙伴的回复标题:

HTTP/1.0 200 OK
Expires: Wed, 27 Jun 2012 05:42:07 GMT
Cache-Control: max-age=10368000
Content-Type: application/x-gzip
Accept-Ranges: bytes
Last-Modified: Wed, 22 Feb 2012 11:06:09 GMT
Content-Length: 5263323
Date: Tue, 28 Feb 2012 05:42:07 GMT
Server: lighttpd
X-Cache: MISS from static01
X-Cache-Lookup: MISS from static01:80
Via: 1.0 static01:80 (squid)

1 个答案:

答案 0 :(得分:0)

您的合作伙伴服务器很可能使用纯XML进行响应,因为它认为http-client发送请求(即GAE URL Fetch服务)不支持gzipping。因此"响应太大"错误。

要宣布您确实希望接收gzip压缩内容,您需要在使用网址抓取服务时设置Accept-Encoding: gzip标头。