一、flask
flask是一个web框架,其他框架还有django等,由于我这个只是很小的测试,就用flask
1、pip install flask
二、写接口
1、先写个简单的接口,测试下
server = flask.Flask(__name__)
#__name__代表当前的python文件。把当前的python文件当做一个服务启动
@server.route('/index',methods=['get','post']) #第一个参数表示可访问的路径,第二个参数代表允许的方法
def index():
res = {'msg':'你看看这个接口,像不像你想看的那个','code':'0'}
return json.dumps(res,ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0') //host是监听的端口,0.0.0.0表示监听所有网卡,别人可以访问此接口,如果是127.0.0.1,只监听本机
3、用postman试着访问下
接下来,我想连接数据库写几个插入、删除、修改表数据的接口,然后为接下来性能测试做准备
1、先写一个操作数据库的类my_db
首先python需要安装mysqldb的驱动,才能操作数据库,pip install MYSQLclient,然后 import MYSQLdb成功即可;
首先创建表:
conn=MySQLdb.connect(host='10.132.20.44',port=3306,user='root',passwd='123456',
db='test',charset='utf8') #建立一个连接,包括主机、端口、账号密码等信息
cur=conn.cursor() #创建一个游标
cur.execute("""
create table if not EXISTS user
(
id int(255) auto_increment not null primary key,
username char(10) not null,
password char(15)
)
""") #执行语句
cur.close() #关闭游标
conn.close() #关闭连接
再写个插入方法试着插入2条数据:
def insert(self,username,passwd):
conn=MySQLdb.connect(host='10.132.20.44',port=3306,user='root',passwd='123456', db='test',charset='utf8')
cur=conn.cursor()
try:
result =cur.execute("insert into user(username,password) values('%s','%s')" %(username,passwd)) #执行成功返回1
except Exception as e:
result=0
print(e)
conn.commit() #只要是插入、更新、删除这些执行sql语句,都要加上这句才会提交,否则不会;
cur.close()
conn.close()
return result
2、接下来写接口部分,使用post方法通过接口往数据库里插入数据
@server.route('/insert',methods=['post'])
def insert():
conn =my_db()
username = flask.request.values.get('username')
password = flask.request.values.get('password')
if username and password:
if len(password)>15 & len(username) >10 :
result ="注册失败,账号密码长度超限"
code= -1
elif len(password)>15:
result ="注册失败,密码长度超限"
code= -1
elif len(username) >10:
result ="注册失败,账号长度超限"
code= -1
else:
code =conn.insert(username, password)
if code==1 :
result ="注册成功!"
else:
result ="注册失败,请检查账号密码是否符合格式!"
else:
code= -1
result="账号或密码不符合格式,请重新填写"
res = {'msg':result,'username':username,'password':password,'code':code}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
接下来,还是postman做接口验证: