摘要
head(用sessiong管理 頭部或cookie,)
body
url地址里
cookie或其他位置
一、token概述
1、摘自百度介紹
Token, 令牌,代表執行某些操作的權利的對象
訪問令牌(Access token)表示訪問控制操作主體的系統對象
邀請碼,在邀請系統中使用
Token, Petri 網(Petri net)理論中的Token
密保令牌(Security token),或者硬件令牌,例如U盾,或者叫做認證令牌或者加密令牌,一種計算機身份校驗的物理設備
會話令牌(Session token),交互會話中唯一身份標識符
令牌化技術 (Tokenization), 取代敏感信息條目的處理過程
2、總結:
token一般由賬號、密碼、時間經過加密處理的標記(token)序列,用來訪問或執行某系統的權限。類似於古代行軍進程的令牌通行證
二、token位置和獲取
1、token的位置
通過抓包或直接問開發或看接口文檔來確認token位置。
一般有4個位置:url(參數),headers,body、cookie,及其他如html其他位置
舉例:
url2 = "http://xxxx"
par = {"token": ret_token}
h= {
"token": ret_token
}
body = {"key1": "value1",
"key2": "value2",
"token": ret_token
}
c={ "token": ret_token}
r2 = requests.post(url2, headers=h, data=body,cookies=c)
2、用session來管理header和cookie,進而管理token(會將cookies和heads中的token自動關聯到到session中,如果在其他位置如url或body,token要抓取好后用參數化手動傳)
舉例:
# headers 或cookies含token
s = requests.session()
s.headers["token"]="xxx"
s.cookies["token"]="xxx"
print(s.headers)
print(s.cookies)
#url或body含頭部
url2 = "http://xxx"
par = {"token": "xxx"}
body = {"key1": "value1",
"key2": "value2",
"token": "token_body"
}
r2 = requests.post(url2, data=body)
從圖中可以看出token已經更新在頭部或cookie中了