Python 烧瓶打印不起作用
如果我向Flask服务器发送运行此程序的HTTP Post,我知道它会返回200响应:Python 烧瓶打印不起作用,python,json,flask,Python,Json,Flask,如果我向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 Fl
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将其发送到网络上的网桥。这两个都不起作用,我也不知道为什么。您需要在函数的最后返回
@app.route('/', methods=['GET', 'POST'])
def signal():
if request.method == 'POST':
content = request.get_json()
print(content)
r = requests.put("http://192.168.1.102/api/F5La7UpN6XueJZUts1QdyBBbIU8dEvaT1EZs1Ut0/lights/5/state/", content)
return jsonify(content)
else:
return 'Hello, world!'
注意:您可能已经过度使用了jsonify函数,因为flask中的jsonify函数返回flask.Response对象,而不是您将发布或放入另一个服务的JSON字符串 return退出函数。返回后尝试执行的任何操作都永远无法到达。因此,当代码到达return jsonifycontent时,后面的代码并不重要,该代码永远不会执行。因此,如果我将响应发送回发送设备,我只想使用jsonify?发送回请求HTTP响应的客户端,是的。好的,这很公平。对不起,我也应该明白退货的事。我的最后一件事是,这是一种在删除撇号时保留“{on:false}”HTTP POST的方法,这意味着PUT不起作用。我不确定这意味着什么。。。我只是在解决你最初提出的问题。如果您还有其他问题,请单击按钮提问。