拓撲排序學習筆記(leetcode 210. 課程表Ⅱ)
阿新 • • 發佈:2021-06-21
request庫:python來發送http請求的。(用程式碼來帶起postman的操作)
例如:微博開放平臺
unittest:也做單元測試---->斷言
requests安裝,在終端輸入
#pip install requests
import requests #request操作請求頭以及攜帶引數,獲取響應的jsons資料 #準備請求頭的資料 deader = { "Authorization": "Bearer 029981f2-ec96-4456-a0de-ee169a77e520", "Content-Type": "application/json " } url = "http://localhost:8080/api/sys/user" data = { "page": 1, "size": 10 } # 發起請求,headers是請求頭的資料,params是請求所攜帶的引數 res = requests.get(url=url, headers=deader, params=data) print(res) data = res.json() print(data)
requests模組處理session和cookie
# 登入狀態保持 url = "http://yun.zenm.vip/iot/account/login/" # 生成狀態保持的session物件 session = requests.Session() data = { 'username': 'peter', 'password': 'admin', } # 使用session的時候,請求的引數要轉化為json格式 import json json_data = json.dumps(data) header = { "Content-Type": "application/json " } res = session.post(url=url, data=json_data, headers=header) print(res) print(res.json()) # 後續的請求繼續在session物件裡發起即可 url_mine = 'http://yun.zenm.vip/iot/account/get/companys/' res5 = session.get(url=url_mine) print(res5.json())
狀態保持的方式:
方式一:
使用的cookies+session
是將登入的資訊放在session裡,再把session放在cookies裡,每次請求的時候瀏覽器都會自動帶上cookies裡的資訊,達到登入狀態保持的效果。
所有的使用者資訊放在session,session在伺服器上,所以每次拿到session都會來伺服器做對比
方式二:
基於token的登入狀態保持,token是放在請求頭
請求處理的時候從請求頭裡拿出來token,跟這個token進行對比。
- 不會佔用伺服器的資源來儲存使用者的的登入資訊。
Token
#查全部員工 def fun2(): URL = "http://localhost:8080/api/sys/login" data = { "mobile": "13800000002", "password": "123456" } json_data = json.dumps(data) deader = { "Content-Type": "application/json" } res = requests.post(url=URL, data=json_data, headers=deader) res_data = res.json() print(res_data) token = res_data["data"] print(token) new_token = "Bearer " + token new_deader = { "Authorization": new_token, "Content-Type": "application/json" } url = "http://localhost:8080/api/sys/user" data = { "page": 1, "size": 10 } # 發起請求,headers是請求頭的資料,params是請求所攜帶的引數。 res1 = requests.get(url=url, headers=new_deader, params=data) print(res1) res_data = res1.json() print(res_data) if __name__ == '__main__': fun2()