Get json from request flask
本问题已经有最佳答案,请猛点这里访问。
客户代码:
1 2 3 4 5 6 7 8 | 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) |
服务器代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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) |
号
问题是我的用户名和密码始终为零。
我还尝试使用:
1 2 | content = request.get_json(force = True) password = content['pass'] |
和
1 | request.form['user'] |
。
当我打印内容时,我有:
编辑:
我添加了json.dumps并使用了request.get_json(),它运行正常。
您发送的是表单编码的数据,而不是JSON。仅仅设置内容类型并不能将您的请求转换为JSON。使用
1 | response = requests.post(url, json={"user": user,"pass": password}) |
用以下方法检索烧瓶中的数据:
1 | data = request.get_json() |
号
我尝试执行与您发布的代码相同的代码,我能够获取
。
我最初的猜测是,由于您没有在请求容器中设置Content-Type头,所以它不理解应该能够解析数据。尝试添加值为
另一个需要注意的是,当我点击登录页面时,浏览器会将内容类型标题设置为