下面为两种请求鉴权方式,我们但是项目是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=¤t=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())
|
#运行结果: