当前位置: 首页 > 知识库问答 >
问题:

获取在烧瓶请求中接收到的数据

卢知
2023-03-14

我想要能够得到数据发送到我的烧瓶应用程序。我尝试访问request.data,但它是一个空字符串。如何访问请求数据?

from flask import request

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

这个问题的答案导致我在Python Flask中询问Get raw POST body next Content-Type header,这是关于获取原始数据而不是解析数据的。

共有2个答案

诸葛康胜
2023-03-14

若要获取原始数据,请使用request.data。这只在它不能被解析为表单数据的情况下才起作用,否则它将为空,request.form将具有已解析的数据。

from flask import request
request.data
巫马欣嘉
2023-03-14

文档描述了请求中可用的属性。在大多数情况下,request.data将为空,因为它用作后退:

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

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

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

  • request.form['name']:如果知道密钥存在,请使用索引
  • request.form.get('name'):如果密钥可能不存在,请使用get
  • request.form.getList('name'):如果密钥被多次发送,并且您需要一个值列表,请使用getListget仅返回第一个值。
 类似资料:
  • 客户端代码: 服务器代码: 问题是我的用户名和密码总是空的。 我还尝试使用: 和 打印内容时,我有: 编辑: 我添加了json。转储和使用请求。获取_json(),它就成功了

  • 我尝试使用axios对烧瓶服务器进行POST: 现在是烧瓶的部分 但是,我最终会出现以下错误: 无法加载XMLHttpRequesthttp://127.0.0.1:5000/test.对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。起源'http://localhost:3000因此不允许访问。 为什么?我将按照建议设置标题

  • 问题内容: 我希望能够将数据发送到我的Flask应用程序。我尝试访问,但是它是一个空字符串。你如何访问请求数据? 问题答案: 该文档描述的要求提供的属性。在大多数情况下,由于它用作后备广告,因此将为空: 如果传入的请求数据带有mimetype Flask无法处理,则将其包含为字符串。 :URL查询字符串中的键/值对 :正文中的键/值对,来自HTML帖子形式或非JSON编码的JavaScript请求

  • 问题内容: 我希望能够将数据发送到我的Flask应用程序。我尝试访问,但是它是一个空字符串。你如何访问请求数据? 问题答案: - request.data 如果传入的请求数据带有mimetype Flask无法处理,则将其包含为字符串。 request.args:URL查询字符串中的key/value request.form:正文中的key/value,来自HTML帖子形式或非JSON编码的请求

  • 我试图在JavaScript和Python之间进行数据通信,我是通过使用JSON变量来实现的,但似乎每当我从JavaScript发出请求时,在我打印。 Python方法将返回一些东西给JS,但它总是。我的<代码>$是否做错了什么。post()方法? javascript调用: Python接收器方法:

  • 在页面上,如果用户进行了身份验证,我想发出一个post请求。为此,我有以下代码。 在打印“legal_login”之后立即发生的事情是,我得到错误消息< code>TypeError: 'Request '对象不可调用。如何使用flask发出post请求?