在做接口測試時(shí)具壮,很多時(shí)候會(huì)遇到登錄需要填寫動(dòng)態(tài)驗(yàn)證碼,如果按照一般的方式輸入用戶名梯刚、密碼和驗(yàn)證碼登錄凉馆,肯定登錄失敗,因?yàn)轵?yàn)證碼每次都會(huì)變亡资。
解決驗(yàn)證碼的方式有多種澜共,可以屏蔽登錄界面的驗(yàn)證碼,另外可以到數(shù)據(jù)庫獲取驗(yàn)證碼再登錄锥腻。但在這里我們不搞這么大工程嗦董,這個(gè)章節(jié)我們來一起學(xué)習(xí)如何用 cookie 方式繞過驗(yàn)證碼來實(shí)現(xiàn)登錄。
操作步驟:(以洋貨棧為例:https://www.baidu.com)
1旷太、手工在瀏覽器上登錄展懈,同時(shí)用 Fiddler 對這個(gè)過程進(jìn)行抓包,獲取登錄后的 Cookie 供璧。
2存崖、把獲取到的 Cookie 加到 headers 中,提交登錄請求時(shí)傳入 headers 參數(shù)睡毒。
import requests
url = 'https://www.youkastation.com/login.html'
headers = {'cookie':'fidder抓包獲取'}
# 發(fā)送登錄請求
r = requests.post(url=url,headers=headers,verify=False)
print(r.text)
發(fā)送請求后就可以看到登錄成功了来惧,可以在返回信息中搜索一下用戶名作驗(yàn)證。
post 請求后面的 verify 參數(shù)是為了處理 SSL 錯(cuò)誤演顾,如果不加可能會(huì)報(bào)下圖的錯(cuò)誤供搀。
以上是用 Cookie 方式繞過驗(yàn)證碼登錄的過程隅居,希望對大家有幫助。