溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python 保持登錄狀態(tài)進(jìn)行接口測(cè)試的方法示例

發(fā)布時(shí)間:2020-09-28 19:33:01 來源:腳本之家 閱讀:196 作者:Fragile_liu 欄目:開發(fā)技術(shù)

記錄三種添加cookie保持接口登錄狀態(tài)的方法,方便自己回顧。

1.簡(jiǎn)單粗暴式。

此方法比較小白,前提是已經(jīng)通過fiddler抓包等方式拿到了cookie,然后直接塞進(jìn)去。

import requests
 
trainsUrl ='http://XXX.com/trains'
headers = {
  "Content-Type":"application/json;charset=UTF-8",
}
cookies = {
  "XXXthor":"XXXXXX105a42"
}
prames = {
  'depId':'1',
  'arrId':'2',
  'goDate':'XXXX'
}
res = requests.get(url=trainsUrl, cookies=cookies, params=prames, headers=headers).json()

2.從登錄接口獲取

import requests
 
loginUrl ="http://XXX.com/login"
data1 = {
  "userName":"157XXXX",
  "userPwd":"XXXX"
}
headers = {
  "Content-Type":"application/json;charset=UTF-8"
}
#運(yùn)行登錄接口
loginRes = requests.post(url=loginUrl, json=data1, headers=headers)
trainsUrl ='http://XXX.com/trains'
parames = {
  'depId':'1',
  'arrId':'2',
  'goDate':'1538100286000'
}
#運(yùn)行trainsUrl接口時(shí),從loginRes中獲取cookies
res = requests.get(url=trainsUrl, params=parames, cookies=loginRes.cookies).json()

這種方式是先運(yùn)行登錄接口,然后從loginRes中獲取cookies,以供后續(xù)接口使用。

3.使用會(huì)話對(duì)象保持登錄---摘自網(wǎng)絡(luò)

import requests
 
# Session 會(huì)話對(duì)象
# 會(huì)話對(duì)象讓你能夠跨請(qǐng)求保持某些參數(shù)。它也會(huì)在同一個(gè) Session 實(shí)例發(fā)出的所有請(qǐng)求之間保持 cookie
# 會(huì)話對(duì)象具有主要的 Requests API 的所有方法。你可以當(dāng)成 Request去使用
sessionRequest = requests.session() #實(shí)例化會(huì)話對(duì)象
loginUrl ="http://XXX.com/login"
data = {
  "userName":"157XXXX",
  "userPwd":"XXX"
}
headers = {
  "Content-Type":"application/json;charset=UTF-8"
}
#第二次請(qǐng)求的url
trainsUrl ='http://XXX/trains'
parames = {
  'depId':'1',
  'arrId':'2',
  'goDate':'XXXXX'
}
#登錄
resp = sessionRequest.post(url=loginUrl , json=data, headers=headers)
#請(qǐng)求trains接口
trainsResp = sessionRequest.get(url=trainsUrl, params=parames)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI