客户端代码:
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)
服务器代码:
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)
问题是我的用户名和密码总是空的。
我还尝试使用:
content = request.get_json(force = True)
password = content['pass']
和
request.form['user']
打印内容时,我有:
编辑:
我添加了json。转储和使用请求。获取_json(),它就成功了
我最初的猜测是,由于您没有在请求中设置Content-Type头,Flask不理解它应该能够解析数据。尝试添加值为application/json
的Content-Type头,看看这是否能满足您的需要。
另一件需要注意的事情是,当我点击登录页面时,浏览器将内容类型标题设置为application/x-www-form-urlencoded
,并将数据编码为user=asdf
我尝试执行您发布的相同代码,我能够获取用户名和密码的值,而不是无。
您发送的是表单编码的数据,而不是JSON。仅仅设置内容类型并不会将请求转换为JSON。使用json=
发送json数据。
response = requests.post(url, json={"user": user,"pass": password})
检索烧瓶中的数据:
data = request.get_json()
我想要能够得到数据发送到我的烧瓶应用程序。我尝试访问,但它是一个空字符串。如何访问请求数据? 这个问题的答案导致我在Python Flask中询问Get raw POST body next Content-Type header,这是关于获取原始数据而不是解析数据的。
我尝试使用axios对烧瓶服务器进行POST: 现在是烧瓶的部分 但是,我最终会出现以下错误: 无法加载XMLHttpRequesthttp://127.0.0.1:5000/test.对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。起源'http://localhost:3000因此不允许访问。 为什么?我将按照建议设置标题
我正在将Flask与Apache一起使用。当我发送带有长url(19000个字符)的GET请求时,响应是 我怀疑该请求触发了< code > werkzeug RequestURITooLarge异常或flask 。当我用相似的url长度直接向Apache发送请求时,没有错误。 有没有办法增加Flask处理的最大url长度?
我正在写一个小烧瓶应用程序来识别手写数字(0-9)。我写了几乎所有的元素(机器学习模型、web应用等),但我在捕捉图像(使用画布绘制)时遇到了问题,比如: 我想获取图像并将其保存到临时文件中。我懂Python,但从未使用过JavaScript,这是使用Canvas所必需的。 HTML: JS: 函数使用浏览器保存管理器保存图像,但我想将其保存到临时文件,稍后再使用图像。
我试图在JavaScript和Python之间进行数据通信,我是通过使用JSON变量来实现的,但似乎每当我从JavaScript发出请求时,在我打印。 Python方法将返回一些东西给JS,但它总是。我的<代码>$是否做错了什么。post()方法? javascript调用: Python接收器方法:
我将按照本教程学习如何用Python构建应用程序。 教程(接近尾声)讲述了如何在python中获得一个发布的AJAX json,如下所示: 超文本标记语言代码: Python代码: 当我运行脚本并在浏览器中点击按钮“点击我”时,当我检查浏览器中的响应时,我会得到“500内部服务器错误”。如果我打印数据变量,它会在单击事件的终端中打印出无。我尝试了评论中给出的建议,在python脚本中使用get_j