gpt4 book ai didi

python - 如何告诉 Django 不要缓冲 HTTP POST 数据?

转载 作者:太空狗 更新时间:2023-10-29 20:31:41 25 4
gpt4 key购买 nike

客户端正在将 mjpeg 流作为 HTTP POST 发布:

POST /feed/testfeed HTTP/1.0
Content-type: multipart/x-mixed-replace; boundary=--myboundary

--myboundary
Content-length: 14179
Content-type: image/jpeg

....JFIF....
....

我在 Django 中根本看不到任何传入数据。 request.read(6) 返回空字符串。我添加了假的“content-Length” header :

POST /feed/testfeed HTTP/1.0
Content-Length: -1
Content-type: multipart/x-mixed-replace; boundary=--myboundary

...

现在它以最快的速度读取整个数据。 request.read(6) 仅在我中断连接后返回(包含全部数据,而不仅仅是预期的 6 个字节)。

相同的行为是当我使用“PUT”请求而不是“POST”请求时。

如何关闭POST请求的缓冲?

最佳答案

这里有点猜测(因为你没有解释你是如何准确地为网站提供服务的),但我认为不是 Django 做缓冲,而是在它前面的网络服务器。是否可以禁用或缓解此问题取决于您实际使用的服务器。

您可能对以下内容感兴趣(如果是 Nginx):

基本上看来,Nginx 禁用此行为可能是不可能的(参见 disable request buffering in nginx )。不确定其他服务器,但那里有很多讨论,所以使用谷歌应该会产生很多信息。

关于python - 如何告诉 Django 不要缓冲 HTTP POST 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6587164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com