使用Flask可以在Python中获取整个请求POST正文?

问题:

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

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

这个问题的答案让我先询问Get raw POST body in Python Flask regardless of Content-Type header,这是关于获取原始数据而不是解析的数据。

回答:

docs描述了请求上可用的属性。在大多数常见情况下,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:组合argsform,如果键重叠,则选择args

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How can I get the whole request POST body in Python with Flask?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 22 = 25