下面为两种请求鉴权方式,我们但是项目是token,这个要跟开发确认好是哪种鉴权方式, 所以下面 cookie鉴权没有结果截图,  token 是有截图的;

1、requests实现cookie鉴权


#----------------- 方式一 --------------------------------------
#创建一个会话
# s = requests.session()
# login_url='http://test.xxxxxx:8060/api/gv-op/userAuth/login'
# datas={
# "account":"guest_Pai_shz",
# "password":"PW_Pai_shz"
# }
# #第二步,登录并得到cookies鉴权
# res = s.post(login_url,data=datas)
# print('登录之后的cookies:',s.cookies) #主动会将响应的set-cookies添加到s对象中
# #第三步,请求其它操作,此时就自动用到用cookie了,比如,获取用户信息
# userinfo_url='http://test.xxxxx.com:8060/api/gv-op/userAuth/getLocalUser'
# resp = s.get(userinfo_url)
# print(resp.json())

#--------------------方式二------------------------
login_url='http://test.xxxxxxx:8060/api/gv-op/userAuth/login'
datas={
"account":"guest_Pai_shz",
"password":"PW_Pai_shz"
}
res = requests.post(login_url, data=datas)
#主动获取cookies
cookies = res.cookies
print(cookies)
userinfo_url='http://test.xxxxxx:8060/api/gv-op/userAuth/getLocalUser'
resp = requests.get(userinfo_url,cookies=cookies) #在后续请求都要加上cookies
print(resp.json)

 

 

2、requests实现token鉴权


"""
以下代码获取token来进行操作,该token中有两个值accessToken、refreshToken,
所以,登录后的后续操作都要用到这个token(两个值哦)
"""
import requests

login_url='http://test.xxxxxxxt.com:8060/api/gv-op/userAuth/login'

header={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
'Content-Type':'application/json'
}

datas={
"account":"guest_Pai_shz",
"password":"PW_Pai_shz"
}

#登录后获取token
resp=requests.post(login_url,json=datas,headers=header)
print(resp.json()) #打印响应结果
print('--------分别打印token的两个值------')
accessToken=resp.json()['data']['accessToken']
refreshToken=resp.json()['data']['refreshToken']
print(accessToken)
print(refreshToken)

#上面获取token值后,就可以做后续操作了,如:查询

query_url='http://test.xxxxxm:8060/api/gv-op/deviceVersion/version/page?deviceModel=&current=1&size=15'
#重新给token两个值赋值(其实没有必要,因为上面登录已经获取到了,下面两行赋值代码可以忽略,直接在header中引用
# resp.headers['accessToken']=resp.json()['data']['accessToken']
# resp.headers['refreshToken']=resp.json()['data']['refreshToken']
header={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
'Content-Type':'application/json',
'accessToken':accessToken,
'refreshToken':refreshToken
}
resp2 = requests.get(query_url,headers=header)
print('查询结果如下:')
print(resp2.json())

#运行结果:

 

posted on 2022-12-08 17:26  给天使看的戲  阅读(389)  评论(0编辑  收藏  举报