当使用 Flask 框架处理请求时,request.args.get()
函数主要用于获取 GET 请求 中的参数。如果浏览器以 POST 请求 方式提交数据,request.args.get()
也可以用于获取请求地址栏中的参数¹²³.
然而,对于 POST 请求,更常用的方式是通过 request.form.get('key')
来获取参数。这适用于客户端以不同的 Content-Type
发送数据,例如:
- 以
application/json
方式发送的请求体内容类似于:{"a": "b", "c": "d"}
- 以
application/x-www-form-urlencoded
方式发送的请求体内容类似于:a=b&c=d
在 Postman 软件中,你可以方便地查看参数是以何种形式发送的,以及对应的 Content-Type
是什么。具体如下:
- 选择
raw
,对应的Content-Type
是application/json
,参数形式是{"content": "很好"}
。 - 选择
x-www-form-urlencoded
,对应的Content-Type
是application/x-www-form-urlencoded
,参数形式是键值对。 - 选择
form-data
,对应的Content-Type
是multipart/form-data
,参数形式同样是键值对。
因此,对于 POST 请求,你可以根据不同的 Content-Type
使用以下方式来获取参数:
request.get_json()['content']
或request.json.get('content')
(当Content-Type
为application/json
时)request.get_data()
(获取原始参数,接受的是类型为bytes
的对象)request.form.get('content')
或request.form['content']
(当Content-Type
为multipart/form-data
时)
综上所述,request.args.get()
主要用于 GET 请求,而在 POST 请求 中,你可以根据不同的 Content-Type
使用适合的方法来获取参数。¹²³⁴
源: 与必应的对话, 2024/4/19
(1) flask 获取GET和POST请求参数(全) - CSDN博客. https://blog.csdn.net/ling620/article/details/107562294.
(2) flask框架的请求上下文request中的args获取请求参数方式_flask request.args-CSDN博客. https://blog.csdn.net/p571912102/article/details/80526634.
(3) Flask 使用 request 处理GET POST请求、上传文件 - CSDN博客. https://blog.csdn.net/u012887259/article/details/103057849.
(4) 关于Flask中的request方法和数据,一定要明白 - 知乎. https://zhuanlan.zhihu.com/p/623755314.
(5) flask实现api接口以及GET&POST请求参数等的注意事项 - 砰砰的猿 - 博客园. https://www.cnblogs.com/pengpengdeyuan/p/14206087.html.