我想使用燒瓶POST數據到網站,當我嘗試返回數據時,我得到一個400錯誤的請求錯誤。Python燒瓶POST 400壞請求錯誤
這裏是發送POST請求我的Python代碼:
import requests
from random import randint
def Temp():
return randint(0,20)
data = {'windspeed':WindSpeed(), 'Temp': Temp(), 'WindDir':WindDir()}
r = requests.post('http://10.0.0.119', data = data)
print (r.text)
這是服務器代碼:
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route("/", methods=['GET','POST'])
def result():
data = request.get_json(force=True)
Temp = data['Temp']
return render_template('main.html', name=Temp)
if __name__ == "__main__":
app.run()
在AA瀏覽器中運行時,這會返回一個400錯誤,但客戶端腳本得到正確的答案:
<!DOCTYPE html>
<html>
<body>
<h1>Temperature</h1>
<p>15</p>
</body>
</html>
其中15是數據['Temp']變量。
您的客戶端無法同用一個瀏覽器發佈時。問題是'get_json()'希望數據是JSON格式,但是使用普通帖子將發送表單編碼數據。使用'json ='而不是'data ='或'data = json.dumps(data)'。或者,更好的是,在您的服務器中,只需使用數據作爲字典。 – mhawke