温馨提示:本文翻译自stackoverflow.com,查看原文请点击:python - Get the data received in a Flask request
flask python werkzeug

python - 获取烧瓶请求中收到的数据

发布于 2020-03-27 16:02:55

我希望能够将数据发送到我的Flask应用程序。我尝试访问,request.data但是它是一个空字符串。您如何访问请求数据?

@app.route('/', methods=['GET', 'POST'])
def parse_request():
    data = request.data  # data is empty
    # need posted data here

这个问题的答案使我提出了在Python Flask中获取原始POST正文的问题,而不管接下来的Content-Type标头如何,这都是关于获取原始数据而不是解析后的数据。

查看更多

查看更多

提问者
ddinchev
被浏览
51
80.3k 2019-08-05 05:48

文档描述的要求提供的属性。在大多数情况下,request.data由于它用作后备广告,因此将为空:

request.data 如果传入的请求数据带有mimetype Flask无法处理,则将其包含为字符串。

  • request.args:URL查询字符串中的键/值对
  • request.form:正文中的键/值对,来自HTML帖子形式或非JSON编码的JavaScript请求
  • request.files:Flask与体内分开的文件form必须使用HTML表单,enctype=multipart/form-data否则将不会上传文件。
  • request.values:组合argsformargs如果键重叠则首选
  • request.json:解析的JSON数据。该请求必须具有application/json内容类型,或者用于request.get_json(force=True)忽略该内容类型。

所有这些都是MultiDict实例(除外json)。您可以使用以下方法访问值:

  • request.form['name']:如果您知道密钥存在,请使用索引
  • request.form.get('name')get如果密钥可能不存在,则使用
  • request.form.getlist('name')getlist如果键被多次发送并且需要值列表,则使用该键。get仅返回第一个值。