在我们做查询或提交的时候需要先登录,获取到cookie 或token才能做下一步操作,本次针对登录后获取两个token值作为参数传入下一个操作(查询)的说明,如下:
1、先创建登录login.py文件,代码如下:
#_*_coding=utf-8 import requests import json
def get_token(): url = 'http://test.line.meltiot.com:8070/api/gv-crcs/userAuth/login' header = { "Accept": "application/json, text/plain, */*", "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" } data = {"account": "guest_Pai_shz","password": "PW_Pai_shz"} res = requests.post(url=url, headers=header, data=json.dumps(data)) tt = json.loads(res.text) refreshToken = str(tt["data"]["refreshToken"]) accessToken = str(tt["data"]["accessToken"]) return refreshToken,accessToken print get_token()
|
运行后,返回的是一个元组
(u'eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE2MzMyNDYjkuZpwGRrTmfM10mNt_kikT89jGO8a9dMlWIaCA', u'eyJhbGciOiJIUzUxMiJ9.eyJhY2N1cGRhdGVUaW3Mz9GACzUL0b2XpMVRdU0bEG01-HO3Jb4nrpvcllRyuCU8AKFFvOKjz6hg') |
2、创建查询query.py文件,然后把login.py引入,代码如下:
#_*_coding=utf-8 import requests #引入库 import login import json url = 'http://test.line.meltiot.com:8070/api/gv-crcs/deviceInfo/page/info?current=1&size=10&runWorkStatus=-2&pole=&mac=test&groupIdStr=&startTime=&endTime=' header={ "Accept":"application/json, text/plain, */*", "Content-Type":"application/json", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36", "refreshToken":login.get_token()[0], #由于该函数返回的是元组,所以获取第一个token值就要取第一个值,其索引为 0; "accessToken":login.get_token()[1] #由于该函数返回的是元组,所以获取第二个token值就要取第一个值,其索引为 1;
} res = requests.get(url=url,headers=header) print res.content
|