lad*_*ads 4 python json http flask
客户代码:
import requests
import json
url = 'http://127.0.0.1:5050/login'
user = "newUser"
password = "password"
headers = {'content-type': 'application/json'}
response = requests.post(url, data={"user": user,"pass": password}, headers = headers)
Run Code Online (Sandbox Code Playgroud)
服务器代码:
from flask import Flask, request, make_response
app = Flask(__name__)
@app.route('/login', methods=['GET','POST'])
def login():
if request.method == 'POST':
username = request.form.get("user")
password = request.form.get("pass")
//more code
return make_response("",200)
if __name__ == "__main__":
app.run(host = "127.0.0.1", port = 5050)
Run Code Online (Sandbox Code Playgroud)
问题是我的用户名和密码始终为None.
我也试过用:
content = request.get_json(force = True)
password = content['pass']
Run Code Online (Sandbox Code Playgroud)
和
request.form['user']
Run Code Online (Sandbox Code Playgroud)
当我打印我的内容时:<请求' http://127.0.0.1:5050/login '[POST]>.因此我无法从客户端找到json发送.
编辑:
我添加了json.dumps并使用了request.get_json()并且它有效
Ale*_*lex 11
您正在发送表单编码数据,而不是JSON.仅设置内容类型不会将您的请求转换为JSON.使用json=发送JSON数据.
response = requests.post(url, json={"user": user,"pass": password})
Run Code Online (Sandbox Code Playgroud)
使用以下方法检索Flask中的数据:
data = request.get_json()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25654 次 |
| 最近记录: |