python flask 做的一个流式发送的的接口,服务端接口如下:
from flask import Flask, Response
import time
app = Flask(__name__)
@app.route('/stream', methods=['POST'])
def stream():
def generate():
for i in range(10):
yield str(i)
time.sleep(1)
return Response(generate(), mimetype='text/plain')
if __name__ == '__main__':
app.run(debug=True,host='0.0.0.0')
客户端如下
import requests
import time
response = requests.get('http://127.0.0.1:5000/stream', stream=True)
for chunk in response.iter_content():
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())),chunk)
正常运行客户端之后会一次请求,然后每秒钟打印一个数字,进行流式传输内容,目前的代码可以实现,但是我加上了域名和ssl和uwsgi和nginx之后,就没有流式传输的效果了,我的这个是部署在宝塔上的一个测试应用,ssl那些都逐个测试过了,目前接口可以通,但是就是没有流式效果,我初步判断是nginx和uwsgi配置里面有问题,但是这两个配置都是宝塔自动生成的,不太知道怎么改。问了gpt他告诉我的那些都白扯,还希望有经验的大手子,帮我看一看问题所在