python接口自動化10-token登錄


前言

有些登錄不是用cookie來驗證的,是用token參數來判斷是否登錄。

token傳參有兩種一種是放在請求頭里,本質上是跟cookie是一樣的,只是換個單詞而已;另外一種是在url請求參數里,這種更直觀。

 

一、登錄返回token

1.如下圖的這個登錄,無cookies

2.但是登錄成功后有返回token

 

二、請求頭帶token

1.登錄成功后繼續操作其它頁面,發現post請求的請求頭,都會帶token參數

2.這種請求其實比cookie更簡單,直接把登錄后的token放到頭部就行

 

三、token關聯

1.用腳本實現登錄,獲取token參數,獲取后傳參到請求頭就可以了

2.如果登錄有驗證碼,前面的腳本登錄步驟就省略了,自己手動登錄后獲取token

# coding:utf-8
import requests

header = {   # 登錄抓包獲取的頭部
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
        "Accept": "*/*",
        "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
        "Accept-Encoding": "gzip, deflate",
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        "X-Requested-With": "XMLHttpRequest",
        "Content-Length": "423",
        "Connection": "keep-alive"
        }

body = {"key1": "value1",
        "key2": "value2"}  # 這里賬號密碼就是抓包的數據

s = requests.session()
login_url = "http://xxx.login"   # 自己找帶token網址
login_ret = s.post(login_url, headers=header, data=body)
# 這里token在返回的json里,可以直接提取
token = login_ret.json()["token"]

# 這是登錄后發的一個post請求
post_url = "http://xxx"
# 添加token到請求頭
header["token"] = token
# 如果這個post請求的頭部其它參數變了,也可以直接更新
header["Content-Length"]="9"
body1 = {
         "key": "value"
         }
post_ret = s.post(post_url, headers=header, data=body1)
print post_ret.content

---------------------------------python接口自動化完整版-------------------------

全書購買地址 https://yuedu.baidu.com/ebook/585ab168302b3169a45177232f60ddccda38e695


作者:上海-悠悠 QQ交流群:588402570

也可以關注下我的個人公眾號:


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM