实例:自己写一个注册接口 输入用户名、密码、验证码,当满足注册将密码进行md5加密。
场景
接口返回参数
提示
用户名存在
2000
exit 用户已存在
密码与验证码不相等
3000
wrong 密码不一致
注册成功
1000
 
insert 插入成功
URL与传入参数
接口访问地址
http://127.0.0.1:9009/regist
请求方式
Post
传入参数
username 用户名
password 密码
cpassword 确认密码
 
Mysql数据库
信息
Ip
192.168.*.*
用户名
root
密码
12345
数据库选用
t2
表名
test2
表结构
name char(10),pw char(50)

----------------------------代码---------------------------------------------------------------------------------

#写一个注册接口,输入用户名、密码、验证码:
# 如果用户存在,返回2000(exit 用户已存在);
# 如果密码与验证码不一致,返回3000(wrong 密码不一致);
# 如果注册成功,返回1000(insert 插入成功) #注意:
#1、接口返回json.dumps(res, ensure_ascii=False)
#2、接口中的sql语句传递变量%s 需要“”;
# sql = 'insert into test2(name,pw) values ("%s","%s")' % (username, new_password)
#3、md5加密,参数需要encode,返回值需要hexdigest()
import flask
import requests
import json
import pymysql
import hashlib MYSQL_INFO = {
'host':'192.168.*.*',
'user':'root',
'password':'12345',
'port':3306,
'db':'t2',
'charset':'utf8',
'autocommit':'True'
}#数据库配置信息 def my_db(sql,**kwargs):
host=kwargs.get('host')
user = kwargs.get('user')
password = kwargs.get('password')
port = kwargs.get('port')
db = kwargs.get('db')
charset = kwargs.get('charset')
autocommit = kwargs.get('autocommit') coon = pymysql.connect(host=host, user=user, password=password, port=port, db=db, charset=charset,autocommit=autocommit)
cur = coon.cursor()
cur.execute(sql)
sql_start=sql[:6].lower()
if sql.startswith('select') or sql.startswith('show'):
data=cur.fetchall()
else:
data='OK'
cur.close()
coon.close()
print(data)
return data def md_5(pd):
newpd = hashlib.md5(pd.encode())
# print(newpd.hexdigest())
return newpd.hexdigest() server = flask.Flask(__name__)
@server.route('/regist',methods=['get','post'])
def regist():
username = flask.request.values.get('username')
password = flask.request.values.get('password')
cpassword = flask.request.values.get('cpassword') sql = 'select * from test2 where name="%s"' %username
all_data=my_db(sql,**MYSQL_INFO)
print(all_data)
if all_data:
res = {'code': '2000', 'msg': 'exit 用户已存在'}
else:
new_password=md_5(password)
print(new_password)
if password==cpassword:
sql = 'insert into test2(name,pw) values ("%s","%s")' % (username, new_password)
my_db(sql, **MYSQL_INFO)
res = {'code': '1000', 'msg': 'insert 插入成功'}
else:
res = {'code': '3000', 'msg': 'wrong 密码不一致'}
return json.dumps(res, ensure_ascii=False) if __name__ == "__main__":
server.run(port=9009, debug=True) ---------------------------用postman与soapui与jmeter访问------------------------------------------ 三种调用接口方式在返回正确代码时,均能将数据插入到数据库中:

1)postman访问

2)soapui访问

注意:soapui新建rest项目时,需要输入网址,系统自动分开方填入reques界面第一行。

A:新建rest项目

B:输入url:

c:输入参数

3、jmeter访问结果

												

python-----编写接口,使用postman与soapiu与jemeter访问调用的更多相关文章

  1. python编写接口初识一

    python编写接口这里用到的是他一个比较轻量级的框架 flask #!/usr/bin/python # -*- coding: UTF-8 -*- import flask,json server ...

  2. python编写接口

  3. (转)python编写登录接口

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...

  4. 使用 Python 编写登陆接口

    # 使用 Python 编写登陆接口# Create Date: 2017.10.31 Tuesday# Author: Eric Zhao# -*- coding:utf-8 -*-'''编写登陆接 ...

  5. 如何使用 Python 编写后端 API 接口

    如何使用 Python 编写后端 API 接口 get API Python3 # coding:utf-8 import json # ModuleNotFoundError: No module ...

  6. python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)

    经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...

  7. python+requests接口自动化测试

    转自https://my.oschina.net/u/3041656/blog/820023 原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测 ...

  8. python+requests接口自动化测试框架实例详解

    python+requests接口自动化测试框架实例详解   转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...

  9. python实现接口自动化

    一.总述 Postman:功能强大,界面好看响应格式自主选择,缺点支持的协议单一且不能数据分离,比较麻烦的还有不是所有的公司都能上谷歌SoupUI:支持多协议(http\soup\rest等),能实现 ...

随机推荐

  1. Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池

    如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...

  2. 【C++】解析C++运行环境的搭建

    在本篇文章中,笔者会谈谈如何搭建C++的运行环境.在不同操作系统中,运行C++编译器的命令也各不相同,最常用的编译器是GNU编译器(Linux系统)和微软Visual Studio编译器(Window ...

  3. Docker 国内仓库和镜像

    Docker 国内仓库和镜像 由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢...所以,国内的Docker爱好者们就添加了一些国内的镜像(mirror),方便大家 ...

  4. spring 中单例 bean 初始化之后和销毁之前执行指定动作 postconstruct 和 preDestroy

    1 生命周期方法, 在指定bean 创建完成后执行初始化动作或销毁之前做一些善后动作.有 3 种方法 1)实现接口 InitializingBean 然后实现 afterPropertiesSet 方 ...

  5. [HDFS Manual] CH3 HDFS Commands Guide

    HDFS Commands Guide HDFS Commands Guide 3.1概述 3.2 用户命令 3.2.1 classpath 3.2.2 dfs 3.2.3 envvars 3.2.4 ...

  6. 【iCore1S 双核心板_ARM】例程十八:SD_IAP_FPGA实验——更新升级FPGA

    实验现象及操作说明: 1.烧写程序成功,绿色ARM·LED灯点亮,三色FPGA·LED灯循环点亮,烧写失败,如果挂载SD卡失败,红灯快闪,如果打开文件失败,蓝灯快闪,读取文件指针移动失败,白灯点亮,升 ...

  7. 【Unity】项目工程源码

    Unity开发者俱乐部 http://blog.csdn.net/dingxiaowei2013/article/details/50605208 游戏蛮牛 9秒社团 6m5m raywenderli ...

  8. 快速入门 WePY 小程序【转】

    一.WePY介绍 WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性. 二.WePY 使用 1.WePY的安装或更新都 ...

  9. CAS单点登陆,URL多出个参数jsessionid导致登陆失败问题

    目录: 1.定位问题 2.问题产生的原因 3.解决问题 一 定位问题 首先,如下图所示:输入到地址栏的地址被302重定向到单点登录地址,地址由Response Headers中的参数Location所 ...

  10. mybatis generator 为数据库保留字段 转义

    为order 添加转义符号“ ` ” `order` <property name="autoDelimitKeywords" value="true"& ...