既然不允许使用Content-Length标头,是否可以在GAE应用程序中设置blob下载大小?

Col*_*old 8 python google-app-engine content-length http-headers

这几个星期前就出来了AppEngine上API更新后,精彩的 "禁止使用的HTTP响应头"部分出现了Python Response类文档这里,这也解释了所列出的标题不能为安全起见,进行设置.

这一切都很好,除了现在我的所有blob下载都有未知的长度,导致所有主流浏览器显示未知的长度进度指标!可以说用户(和我自己)发现这对于大量下载来说非常烦人,因为没有办法猜测下载需要多长时间,或者它们可能有多长.我之前通过Content-Length根据数据存储区中blob的信息记录设置标题来修复此问题,但现在不允许这样做,还有另一种方法可以实现吗?任何想法非常感谢!

kar*_*cow 1

您的文件是否通过以下方式传输:

Transfer-Encoding: Chunked
Run Code Online (Sandbox Code Playgroud)

然后就可以通过 HTTP 发送这些没有Content-Length:标头的文件。请参阅有关分块传输编码的 HTTP/1.1 RFC 。我想您应该能够为 get 等方法定义自己的处理程序,并使用 webapp.WSGIApplication 自己创建 HTTP 响应。OTOH,Adrian Holovaty从未收到同一问题的答案。