【发布时间】:2017-07-24 19:16:31
【问题描述】:
如果我发送运行此程序以向我的 Flask 服务器执行 HTTP Post,我知道它会返回 200 响应:
import requests
import json
dump= '{"on": false}'
r = requests.post('http://127.0.0.1:5000', data=dump,
headers={'Content-Type': 'application/json'})
还有我的 Flask 服务器的代码:
from flask import Flask
from flask import request, jsonify
import requests
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def signal():
if request.method == 'POST':
content = request.get_json()
return jsonify(content)
print(jsonify(content))
r = requests.put("http://192.168.1.102/api/F5La7UpN6XueJZUts1QdyBBbIU8dEvaT1EZs1Ut0/lights/5/state/", jsonify(content))
else:
return 'Hello, world!'
if __name__ == '__main__':
app.run(debug=True)
我想将数据打印到控制台,然后使用 HTTP PUT 将其发送到网络上的网桥。这些都不起作用,我不确定为什么。
【问题讨论】:
-
return退出函数。您在return之后尝试执行的任何操作都永远无法实现。因此,当代码到达return jsonify(content)时,不管后面的代码是什么,该代码都不会被执行。