Python使用Flask制作挡板

本文介绍如何在Flask框架中处理POST请求数据,包括使用request对象获取表单、GET参数及JSON数据的方法,并通过一个具体的Mock服务示例展示了如何验证请求内容并返回定制化的响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding:utf-8 -*-
# @FileName  :5.Flask_挡板4.py
# @Time      :2020/7/4 22:45
# @Author    :JackOS-火狐
'''
1、request.form.get(“key”, type=str, default=None) 获取表单数据
2、request.args.get(“key”) 获取get请求参数
3、request.values.get(“key”) 获取所有参数。推荐使用request.values.get()
4、request.get_json()获取解析json数据格式,然后直接引用a[‘b’]
'''
from flask import Flask, request, jsonify
import json
import time
Jmeter_Python = Flask(__name__) #实例化一个Flask对象
# 自定义返回成功响应结果
success_1 = {
    "data": {
        "loginName": "python",
        "roles": 1,
        "permissions": 1,
        "active": 1
    },
    "statusText": "000000",
    "timestamp": round(time.time()),#时间戳
    "success": 1
}
List=['python','123456'] #预期结果列表
alist=[] #定义一个空列表把实际想要的字段值结果放进去与预期列表结果比对
# 返回结果是utf8,如果需要返回支持中文显示
Jmeter_Python .config['JSON_AS_ASCII'] = False
@Jmeter_Python .route('/add/student/', methods=['post','get'])
def Pyhton_Mock():
    if not request.data:  # 检测是否有数据
        return ('请输入参数!')
    elif request.method != 'POST':
        return ("请求方法错误")
    else:
        data = request.data.decode('utf-8')
        # 获取到POST过来的数据,因为我这里传过来的数据需要转换一下编码。根据晶具体情况而定
        Data_json = json.loads(data) # 把区获取到的数据转为JSON格式。
        username = str(Data_json["name"]) #Data_json为dict,key=value,取name的值,转换成字符
        passwd = str(Data_json["pwd"])
        alist.append(username)  #将关键值添加到alist列表
        alist.append(passwd)
        # 方法一:对请求内容判断
        # if username=="python" and passwd=="123456":
        # 方法二:判断list列表是否相等
        # if list(Data_json.values()) == List:
        # 方法三:判断list列表是否相等
        if alist == List:
            print(list(Data_json.values()))
            return json.dumps(success_1, ensure_ascii=False) #返回正确结果
        else:
            return  username+"--"+passwd

if __name__ == '__main__':
    Jmeter_Python.run(debug=True,host='127.0.0.1', port=1234)
    # 这里指定了地址和端口号。debug=True编辑自动重启
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值