小编典典

获取 Flask 请求中收到的数据

all

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

from flask import request

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

阅读 138

收藏
2022-02-28

共1个答案

小编典典

文档描述了请求期间request对象 (
)上可用的属性。from flask import request在最常见的情况下request.data将是空的,因为它被用作后备:

request.data包含传入的请求数据作为字符串,以防它带有 Flask 无法处理的 mimetype。

  • request.args: URL 查询字符串中的键/值对
  • request.form: 正文中的键/值对,来自 HTML 发布表单或非 JSON 编码的 JavaScript 请求
  • request.files: 正文中的文件,Flask 与form. 必须使用 HTML 表单enctype=multipart/form-data,否则将无法上传文件。
  • request.values: 组合argsand form,args如果键重叠则优先
  • 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只返回第一个值。
2022-02-28