Flask - 当内容类型为“application/x-www-form-urlencoded”时,如何读取 POST 请求中的原始正文

新手上路,请多包涵

事实证明,如果请求的内容类型为 application/x-www-form-urlencoded ,Flask request.data 设置为空字符串。因为我使用的是 JSON 正文请求,所以我只想解析 json 或强制 Flask 解析它并返回 request.json

这是必需的,因为更改 AJAX 内容类型会强制执行 HTTP OPTION 请求,这会使后端复杂化。

如何让 Flask 返回请求对象中的原始数据?

原文由 Ron Reiter 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

如果内容类型为 application/x-www-form-urlencoded ,您可以通过 request.form.keys()[0] 获取发布数据。

request.form 是一个 multidict ,其键包含解析后的数据。

原文由 iMom0 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 request.get_data() 获取 POST 数据。这与数据的内容类型是 application/x-www-form-urlencoded 还是 application/octet-stream

原文由 Mark 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题