flask获取请求对象的get和post参数

前言

get请求参数是在URL里面的,post请求参数是放在请求头里面的

get请求:

python 复制代码
@index_page.route("/get")
def get():
    var_a = request.args.get("a", "jarvis")
    return "request:%s,params:%s,var_a:%s" %(request.method,request.args,var_a)

浏览器访问 http://127.0.0.1:5000/get


自定义参数值,浏览器访问 http://127.0.0.1:5000/get?a=123


post请求

python 复制代码
@index_page.route("/post", methods=["POST"])
def post():
    var_a = request.form['a']
    return "request:%s,params:%s,var_a:%s" % (request.method, request.form, var_a)

postman测试

使用reques.values同时获取get和post请求的参数:

python 复制代码
@index_page.route("/get")
def get():
    req = request.values
    var_a = req['a'] if "a" in req else ""
    return "request:%s,params:%s,var_a:%s" %(request.method,request.args,var_a)


@index_page.route("/post", methods=["POST"])
def post():
    req = request.values
    var_a = req['a'] if "a" in req else ""
    return "request:%s,params:%s,var_a:%s" % (request.method, request.form, var_a)

这样的好处就是不用在代码里面区分get和post请求是用args和form来获取

思考:如果一个post请求里面有有共同的参数,这个时候会打印出什么呢?

验证:

可以看到打印出了get请求的参数值,GET优先级高于POST

相关推荐
哈里谢顿3 小时前
Django 应用 OOM(Out of Memory)故障的定位思路和排查方法
python·django
甄心爱学习3 小时前
【python】获取所有长度为 k 的二进制字符串
python·算法
tuotali20264 小时前
氢气压缩机技术规范亲测案例分享
人工智能·python
嫂子的姐夫4 小时前
030-扣代码:湖北图书馆登录
爬虫·python·逆向
a1117765 小时前
EasyVtuber(或其衍生/增强版本)的虚拟主播(Vtuber)面部动画生成与直播解决方案
python·虚拟主播
lintax5 小时前
计算pi值-积分法
python·算法·计算π·积分法
小凯123455 小时前
pytest框架-详解(学习pytest框架这一篇就够了)
python·学习·pytest
逻极5 小时前
pytest 入门指南:Python 测试框架从零到一(2025 实战版)
开发语言·python·pytest