无论内容类型标头如何,都可以在Python Flask中获取原始POST正文

以前,我问过如何获取Flask请求中的数据,因为它request.data是空的。答案解释request.data为原始帖子正文,但如果分析表单数据将为空。我如何无条件获得原始职位?

@app.route('/', methods=['POST'])

def parse_request():

data = request.data # empty in some cases

# always need raw data here, not parsed form data

回答:

使用request.get_data()获得的原始数据,而不管内容类型。该数据被缓存,你可以随后访问request.data,request.json,request.form随意。

如果你request.data首先访问,它将首先调用get_data一个参数以解析表单数据。如果请求具有形式的内容类型(multipart/form-data,application/x-www-form-urlencoded,或application/x-url-encoded),则原始数据将被消耗。request.data并且request.json在这种情况下将显示为空。

以上是 无论内容类型标头如何,都可以在Python Flask中获取原始POST正文 的全部内容, 来源链接: utcz.com/qa/405886.html

回到顶部