requests.session()
requests.session()的作用,session会话
用于保持该session为全局变量,其他接口都使用该session发送请求
使用方法
s=requests.session()
s.get(...)
s.post(...)
s.get和s.post保持了同一个会话
使用session保持会话
"""
用requests.session()访问关联接口
接口需求
接口地址:http://192.168.139.137:8000/event_manage/
接口说明:发布会管理
方法:get
参数:无
返回值:text/html类型
依赖接口:http://192.168.139.137:8000/login_action/
"""
import requests
url = 'http://192.168.139.137:8000/login_action/'
data = {'username':"admin",'passsword':'admin123456'}
s = requests.session()
r = s.post(url,data)
url = "http://192.168.139.137:8000/event_manage/"
result = s.get(url)
print(result.text)
关联接口
'''
被测接口:.../apitest/refer/info/
功能:查询信息接口
方法:get方法
无参
关联接口:/apitest/refer/login/
功能:登录接口
方法:post方法
参数:username、password
数据库表:apitest.users
'''
import requests
# url='http://192.168.139.137/apitest/refer/info/'
# res=requests.get(url)
# print(res.text) #缺少会话,缺少关联
url='http://192.168.139.137/apitest/refer/login/'
args={'username':'admin','password':'123456'}
res=requests.post(url,args)
# print(res.text)
# print(res.headers['set-cookie']) #获得响应头中的cookie
# print(res.cookies) #获得响应的cookie值,更方便
cookie=res.cookies #被依赖接口的cookie
url='http://192.168.139.137/apitest/refer/info/'
res=requests.get(url,cookies=cookie)
print(res.text)
实现会话保持的自动关联
import requests
s=requests.session() #创建会话(同一个客户端在进行连续的多次请求,自动传递cookie、sessionid、token)
url='http://192.168.139.137/apitest/refer/login/'
args={'username':'admin','password':'123456'}
s.post(url,args)
url='http://192.168.139.137/apitest/refer/info/'
res=s.get(url)
print(res.text)