接口联调
今天写一下存在关系的接口,怎么调用上一个接口返回来的东西,以注册、登录,忘记密码、修改密码为例,其中修改密码会用到上一个接口的token,直接上代码 (都是上期的代码,重复的我就不解释了,没解释过的我会加到注释中):
#!/usr/bin/env python
# -*-conding:utf-8 -*-
import requests
class workflow_forgotpassword_test():
#用户注册接口
def yhzc_test(self):
url="http://localhost:8080/jwshoplogin/user/register.do"
userinfo={}
userinfo={"username":"小兵3",
"password":"Aa111111",
"email":"sadasd14@qq.com",
"phone":"13578901541",
"question":"我爱你",
"answer":"好的"
}
response=requests.post(url,data=userinfo).text
r=response.find("注册成功")
if r>0:
print("用户注册成功")
else:
print("注册失败")
#用户登录接口
def yhdl_test(self):
url="http://localhost:8080/jwshoplogin/user/login.do"
userinfo={}
userinfo={"username":"小兵3",
"password":"Aa111111"
}
response=requests.post(url,data=userinfo).text
r=response.find("登录成功")
if r>0:
print("用户登录成功")
else:
print("登录失败")
#忘记密码接口
def wjmi_test(self):
url="http://localhost:8080/jwshoplogin/user/forget_get_question.do"
userinfo={}
userinfo={"username":"小兵2",
}
response=requests.post(url,data=userinfo).text
r=response.find("我爱你")
if r>0:
print("忘记密码接口成功")
else:
print("忘记密码接口失败")
#提交密保问题答案接口
def tjmbwtda_test(self):
url="http://localhost:8080/jwshoplogin/user/forget_check_answer.do"
userinfo={}
userinfo={"username":"小兵2",
"question": "我爱你",
"answer": "好的"
}
response=requests.post(url,data=userinfo).text
#定义一个字典
dict={}
#将response文本格式转换成字典类型
dict=eval(response)
#data的值拿到给token
token=dict["data"]
print(token)
r=response.find("data")
if r>0:
print("提交密保成功")
else:
print("提交密码失败")
#该方法的结果就是得到token
return token
#回答问题后修改密码接口
def hdwthxgmm_test(self,token):
url="http://localhost:8080/jwshoplogin/user/forget_reset_password.do"
userinfo={}
userinfo={"username":"小兵3",
"passwordNew":"111111",
"forgetToken":token
}
response=requests.post(url,data=userinfo).text
r=response.find("修改密码成功")
if r>0:
print("提交token接口成功")
else:
print("提交token接口失败")
#方法调用
if __name__ == '__main__':
registerobj=workflow_forgotpassword_test()
registerobj.yhzc_test()
registerobj.yhdl_test()
registerobj.wjmi_test()
token=registerobj.tjmbwtda_test()
registerobj.hdwthxgmm_test(token)
registerobj.yhdl_test()
接下来给大家看下token样子
代码虽然很长,但不是一气呵成的写完的,要一步一步的调试,建议写完一个接口,就调用一下,看看是不是成功的,然后整合到一起运行!
最后附赠个知识点:token session cookie区别
token:简单来说,它相当于一个身份令牌,一般在登录成功后,会响应回来token,当你访问系统其它功能时,你必须带着你的令牌,系统才会让你使用
session:会话,代表服务器与浏览器的一次会话过程。
cookie:储存在用户本地终端上的数据,就类似于,我们在web上访问某个系统,第一次登录之后,第二次就不用登录了,可以直接点击该系统 登录的用户就是你上次登录的用户。
知乎上有篇详细的文章可以看下他们三个的关系,链接:https://www.zhihu.com/question/353373715/answer/878707077
,该段代码可升级整合,未完待续
欢迎大家多多留言!