我将 Python Flask + nginx 与 FCGI 一起使用。
在某些请求中,我必须输出大量响应。通常这些响应是从套接字中获取的。目前我正在做这样的回应:
response = []
while True:
recv = s.recv(1024)
if not recv: break
response.append(recv)
s.close()
response = ''.join(response)
return flask.make_response(response, 200, {
'Content-type': 'binary/octet-stream',
'Content-length': len(response),
'Content-transfer-encoding': 'binary',
})
问题是我实际上不需要数据。我还有一种方法可以确定要从套接字获取的确切响应长度。所以我需要一种发送 HTTP 标头的好方法,然后直接从套接字开始输出,而不是在内存中收集它然后提供给 nginx(可能通过某种流)。
我无法找到这个看似常见问题的解决方案。那将如何实现?
谢谢!