python使用Flask作为MockServer的方法
日常开发/测试过程中,需要对相关服务添加挡板--Mock
简单介绍一下使用python的Flask插件,对相关的服务进行Mock
# coding:utf-8
import os
from flask import Flask, render_template, request app = Flask(__name__, static_folder=".", template_folder="./templates") @app.route('/delete')
def index():
return render_template('index.html') @app.route('/delete/user', methods=['GET', 'POST'])
def delete(): get_data = request.values.get('c_id')
get_id = request.values.get('id')
if len(get_data) == 0 or len(get_id) == 0:
return render_template('index.html', data="Please check your custom id or id.") p = os.popen("sh /home/xx.sh " +
get_data + " " + get_id).read() if len(p) == 0:
return render_template('index.html', data="Execute False. custom_id=" + get_data + " id=" + get_id)
else:
return render_template('index.html', data=str(p)+" custom_id=" + get_data + " id=" + get_id) if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=80)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>删除用户</title>
</head>
<body>
<br></br>
<br></br><br></br>
<div style='color:blue;text-align:center'>
<form method="post" action="/delete/user">
<input maxlength="12" type="text" name="c_id" id="c_id" placeholder="input custom id" value=""style="font-size:1.4em;height:2.7em;border-radius:10px;border:1px solid #c8cccf;color:#986655;">
<input maxlength="18" type="text" name="id" id="id" placeholder="input id" value="" style="font-size:1.4em;height:2.7em;border-radius:10px;border:1px solid #c8cccf;color:#986655;">
<input type="submit" value=" Delete " style="font-size:1.4em;height:2.7em;border-radius:10px;border:1px solid #c8cccf;color:#986655;"/>
</form>
<br><br><br>
{% if data %}
<span>{{data}}</span>
{% endif %}
</div> </body>
</html>
以上的代码,只是通过页面的元素来获取对应的值,然后通过值作为参数,进行执行
再介绍一个使用json发送接口的使用方式。具体需要修改的地方,要根据实际情况来进行。
# coding:utf-8
import random from flask import Flask, request, jsonify, abort app = Flask(__name__) # 实例化一个Flask对象 @app.route("/api/user/reg/", methods=["POST"])
def reg():
if not request.json or 'name' not in request.json or 'password' not in request.json:
code = {"code": "", "msg": "失败", "data": {}}
return jsonify(code)
# abort(404)
res = [
{
"code": "",
"msg": "成功",
"data": {
"name": "李六",
"password": "e10adc3949ba59abbe56e057f20f883e"
}
},
{
"code": "",
"msg": "失败,用户已存在",
"data": {
"name": "李六",
"password": "e10adc3949ba59abbe56e057f20f883e"
}
},
{
"code": "",
"msg": "失败,添加用户失败",
"data": {
"name": "李六",
"password": "e10adc3949ba59abbe56e057f20f883e"
}
}
] return jsonify(random.choice(res)) if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
---------我是底线---------
python使用Flask作为MockServer的方法的更多相关文章
- 在pycharm_2018.2版本中开启Flask的debug的方法 (不要用命令:python **.py启动)
断点后,先ctl+c关闭控制台程序,再点击debuger调试 问题描述:在pycharm_2018.2版本中,我明确开启了debug,代码如下所示: from flask import Flask a ...
- 使用python的Flask实现一个RESTful API服务器端[翻译]
最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...
- 使用python的Flask实现一个RESTful API服务器端
使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...
- python之Flask实现登录功能
网站少不了要和数据库打交道,归根到底都是一些增删改查操作,这里做一个简单的用户登录功能来学习一下Flask如何操作MySQL. 用到的一些知识点:Flask-SQLAlchemy.Flask-Logi ...
- 转:使用python的Flask实现一个RESTful API服务器端
提示:可以学习一下flask框架中对于密码进行校验的部分.封装了太多操作. 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了 ...
- python基础===flask使用整理(转)
flask 使用的一些整理 资源 Flask 文档|英文| expore flask| 快速教材| flask-admin| Flask-DebugToolbar| Flask-Login| Flas ...
- Designing a RESTful API with Python and Flask 201
rest服务器的搭建 - CSDN博客 http://blog.csdn.net/zhanghaotian2011/article/details/8760794 REST的架构设计 REST(Rep ...
- Python 和 Flask实现RESTful services
使用Flask建立web services超级简单. 当然,也有很多Flask extensions可以帮助建立RESTful services,但是这个例实在太简单了,不需要使用任何扩展. 这个we ...
- Python Web Flask源码解读(二)——路由原理
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...
随机推荐
- LightGBM GPU python版本安装
失败的安装尝试 1.官方Guide https://lightgbm.readthedocs.io/en/latest/GPU-Windows.html 生成在windows下可执行的exe程序,但是 ...
- Linux下MySQL报Table 'xxx' doesn't exist错误解决方法,表名存在大小写区分
Linux服务器上在线装了个MySQL,但是部署web应用时一直报后台一直报错:Table 'xxx' doesn't exist. 本地测试一直都是正常的,同样的代码,同样的数据库,表是存在的,但是 ...
- DB 分库分表(3):关于使用框架还是自主开发以及 sharding 实现层面的考量
当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选 ...
- 微信小程序<web-view>出现{"base_resp":{"ret":-1}}
最近在使用小程序<web-view>这个标签加载一个https网页的时候出现了{"base_resp":{"ret":-1}}这一个问题 搞了好久~ ...
- 爬取百度网盘资源报user is not authorized, hitcode:119
爬取百度网盘资源报user is not authorized, hitcode:119 一.总结 一句话总结: 可能是百度网盘禁止非客户端环境下载大文件,所以将请求头改为客户端:'User-Agen ...
- react 的定义组件(了解)
react 中定义组件的方法 1. 定义组件 React.createClass() (被淘汰了) 定义组件中的函数 methods 的中的 this 统统指向 组件 2. 函数定义组件 定义的组件时 ...
- ORA-00600: internal error code, arguments: [kqludp2], [0x08D226918], [0], [], [], [], [], [], [], [], [], []
问题描述: 1)report builder + xml publisher 做的报表,报表提交后报黄色警告,输出文件是XML格式,日志提示如下: +--------- 1) POST-PROCESS ...
- DP&图论 DAY 4 上午
DP&图论 DAY 4 上午 概率与期望 概率◦某个事件A发生的可能性的大小,称之为事件A的概率,记作P(A).◦假设某事的所有可能结果有n种,每种结果都是等概率,事件A涵盖其中的m种,那 ...
- LC 537. Complex Number Multiplication
Given two strings representing two complex numbers. You need to return a string representing their m ...
- Javascript 二维码生成库:QRCode
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...