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

烧瓶-当内容类型为“应用/x-www.-form-urlencoded”时,我如何读取POST请求中的原始正文

叶华皓
2023-03-14

原来烧瓶设置了请求。如果请求的内容类型为application/x-www-form-urlencoded,则将数据转换为空字符串。因为我使用的是JSON主体请求,所以我只想解析JSON或强制Flask解析它并返回请求。json

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

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


共有3个答案

杜建章
2023-03-14

如果您希望在请求为“内容类型”时获取JSON:“application/x-www-form-urlencoded”,则需要“强制”转换为类似JSON的de代码,如下所示:

from flask import Flask, request
import os


app = Flask(__name__)


@app.route("/my-endpoint", methods = ['POST'])
def myEndpoint():

    requestJson = request.get_json(force=True)

    //TODO: do something....

    return requestJson


if __name__ == "__main__":
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port, debug=True, use_reloader=True)
嵇永望
2023-03-14

使用请求。获取_data()以获取POST数据。这与数据的内容类型是application/x-www-form-urlencoded还是application/octet-stream无关。

萧建木
2023-03-14

您可以通过请求获取post数据。类型keys()[0]如果内容类型为application/x-www-form-urlencoded

请求。form是一个multidict,其键包含解析后的post数据。

 类似资料:
  • 我有一个API我正在测试。API接收POST请求并像这样读取它 当我在“application/json;charset=UTF-8”中发送一个POST请求时,所有工作都很好。 它打印如下: 我可以正确地读取数据。 然而,我的问题是,当我以同样的方式发送数据时,我设置了内容类型“application/x-www-form-urlencoded;charset=utf-8” 测试是一样的,只是内容

  • 我已经通过邮递员发送了标题Content-Type=Application/x-www-form-urlencoded的POST请求。 我得到了PHP中的数组,格式如下。我无法在PHP页面中访问。我该如何解决这个问题? 结果是

  • 我正在使用OpenAPI生成器生成Spring REST API。下面是一个片段: 它生成一个Spring REST API方法(只是一个有趣的方法): 然后,我想使用从集成测试中调用它: 我得到一个错误: 我对服务器端进行了一点调试,看起来它需要一个多部分的内容,但我不明白为什么。 内容类型为application/x-www-form-urlencoded的Http Post请求在Spring

  • 请求参数: 我想使用以下方法在Spring MVC中获取请求参数: 类定义如下: 发送请求时,我收到错误信息: bean类[com.example.demo.param.User]的无效属性“detail[gender]:非法获取属性“detail”引发异常;嵌套的异常是org。springframework。豆。NullValueInTestedPathException:bean类[com.e

  • 问题内容: 是新来春目前正在试图做的HTTP POST请求的应用程序/ x-WWW的形式,URL编码,但是当我守这在我的头,然后春天不承认它,并说 了 有人知道如何解决吗?请评论我。 我的控制器的一个示例是: 问题答案: 问题在于,当我们使用application / x-www-form-urlencoded时,Spring不会将其理解为RequestBody。因此,如果要使用它,则必须删除@R

  • 我是spring的新手,目前正在尝试执行HTTP POST request Application/x-www-form-urlencoded,但当我将其保存在头中时,spring无法识别它,并对说 org.springframework.web.httpmediatypenotsupportedexception:不支持内容类型“application/x-www-form-urlencoded