有登入驗證的情況下,做介面請求
阿新 • • 發佈:2018-11-29
qycloud這種方式是可以的
import requests import pprint def login_api(): values = { "username": "apitest", "password": "111111", "url": "", "ismobile": "false", "rememberMe": "true" } res = requests.post("http://portal.feature.delcustomapi.aysaas.com:8040/api2/user/login",data=values) a= res.cookies["PHPSESSID"] #a= res.headers['set-cookie'].split(";")[0].split("=")[1] #這兩種方法都可以取到PHPSESSID print(a) return a def list_rule(sessionid): res = requests.get("http://portal.feature.delcustomapi.aysaas.com:8040/api/rulesengin/category/",cookies={"PHPSESSID":sessionid}) pprint.pprint(res.json()) return res.json() sessionid = login_api() list_rule(sessionid)
結果
6ac7993563e66395c2a585fdaf828da6
[{'id': 1, 'name': '固定資產庫管理', 'parent_id': 0},
{'id': 2, 'name': 'workflow觸發dataflow', 'parent_id': 0},
{'id': 3, 'name': 'df多選新增觸發流程多次新增', 'parent_id': 0},
{'id': 4, 'name': 'df新增觸發訊息提醒', 'parent_id': 0}]
第二種傳參方式
import requests import pprint def login_api(): values = { "username": "apitest", "password": "111111", "url": "", "ismobile": "false", "rememberMe": "true" } res = requests.post("http://portal.feature.delcustomapi.aysaas.com:8040/api2/user/login",data=values) a= res.cookies["PHPSESSID"] print(a) return a def list_rulu(sessionid): headers = { "cookie" : "PHPSESSID="+ sessionid, } #print(headers) #{'cookie': 'PHPSESSID=513c1540e26ee8ef45fd2fbf096c817e'} res = requests.get("http://portal.feature.delcustomapi.aysaas.com:8040/api/rulesengin/category/",headers=headers) pprint.pprint(res.json()) return res.json() sessionid = login_api() list_rulu(sessionid)
結果:
5fd08f77fa31acfd66db7cd5cd411c67
[{'id': 1, 'name': '固定資產庫管理', 'parent_id': 0},
{'id': 2, 'name': 'workflow觸發dataflow', 'parent_id': 0},
{'id': 3, 'name': 'df多選新增觸發流程多次新增', 'parent_id': 0},
{'id': 4, 'name': 'df新增觸發訊息提醒', 'parent_id': 0}]