在 Python Flask 中获取原始 POST 正文,无论 Content-Type 标头如何
·
回答问题
之前我问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
Answers
使用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将显示为空。
更多推荐

所有评论(0)