2012-02-28 38 views
5

Tôi có một tập lệnh trên GAE yêu cầu nguồn cấp XML từ đối tác thường là 40MB nhưng chỉ có 5MB gzipped. GAE được tự động giải nén nội dung này và ném một lỗi mà các phản ứng quá lớn:Tôi làm cách nào để ngăn GAE khỏi việc giải nén nguồn cấp dữ liệu xml đã được nén?

HTTP response là quá lớn: 46677241. Giới hạn là: 33554432.

Các kịch bản được thiết lập để giải nén phản ứng chính nó. Làm cách nào để ngăn GAE khỏi bị xâm nhập và phá vỡ?

Đây là tiêu đề phản hồi từ đối tác của tôi:

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) 

Trả lời

0

Nhiều khả năng máy chủ của đối tác của bạn phản ứng với XML đơn giản, bởi vì nó cho rằng yêu cầu http-client gửi (ví dụ: GAE URL Fetch dịch vụ) không hỗ trợ gzipping. Do đó "phản ứng quá lớn" lỗi.

Để thông báo rằng bạn thực sự muốn nhận nội dung gzipped, bạn cần đặt tiêu đề Accept-Encoding: gzip khi sử dụng dịch vụ tìm nạp URL.

+0

tên tệp được tìm nạp thực sự kết thúc bằng "xml.gz". cảm ơn, tuy nhiên, tôi sẽ thêm nó vào yêu cầu và xem nó có giúp ích gì không. – scottzer0

Các vấn đề liên quan