我想在Flask中编写一个程序,将网站的状态代码异步打印到一个有时间延迟的网页,即
import flask
import time
import requests
app = flask.Flask(__name__)
@app.route('/yield')
def index():
def inner():
for x in range(100):
time.sleep(1)
req = requests.get('https://www.youtube.com/watch?v=[somenumber]')
print(req.status_code)
return '<br/>\n' + str(req.status_code)
return flask.Response(inner(), mimetype='text/html')
app.run()
当我预计它是99&#39; 404&#39;由于for循环的范围而产生的消息。
答案 0 :(得分:0)
Flask中的return
语句告诉HTTP处理程序将输出发送到客户端并关闭连接。你在循环的第一次迭代中执行此操作,因此循环永远不会再次运行。
改为这样:
def inner():
val = ""
for x in range(100):
time.sleep(1)
req = requests.get('https://www.youtube.com/watch?v=[somenumber]')
print(req.status_code)
val.append('<br/>\n' + str(req.status_code)) # add to a string
return val # and then return the value