Как предотвратить GAE от распаковки gzipped XML-канала? - PullRequest
5 голосов
/ 28 февраля 2012

У меня есть скрипт на GAE, который запрашивает XML-фид от партнера, который обычно 40 МБ, но только 5 МБ в сжатом виде.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 голосов
/ 28 февраля 2012

Скорее всего, сервер вашего партнера отвечает простым XML, потому что считает, что отправка запросов http-клиентом (например, служба GAE URL Fetch) не поддерживает gzipping.Следовательно, «ответ был слишком велик».

Чтобы объявить, что вы действительно хотите получать сжатый контент, вам нужно установить заголовок Accept-Encoding: gzip при использовании службы получения URL.

...