不為人知的python request小技巧
關(guān)于?Python?requests ,在使用中,總結(jié)了一些小技巧把,記錄下。
1:保持請(qǐng)求之間的Cookies,我們可以這樣做。

2:請(qǐng)求時(shí),會(huì)加上headers,一般我們會(huì)寫成這樣

唯一不便的是之后的代碼每次都需要這么寫,代碼顯得臃腫,所以我們可以這樣:

3:默認(rèn)requests請(qǐng)求失敗后不會(huì)重試,但是我們跑case時(shí)難免遇到一些網(wǎng)絡(luò)或外部原因?qū)е耤ase失敗,我們可以在Session實(shí)例上附加HTTPAdapaters 參數(shù),增加失敗重試次數(shù)。

這樣,之后的請(qǐng)求,若失敗,重試3次。
4:重定向
網(wǎng)絡(luò)請(qǐng)求中可能會(huì)遇到重定向,我們需要一次處理一個(gè)請(qǐng)求,可以把重定向禁止。

5:?post請(qǐng)求提交json格式數(shù)據(jù)時(shí),一般先要把Python對(duì)象轉(zhuǎn)換成json對(duì)象??赡芎芏鄷r(shí)候是這樣寫:

其實(shí)post有一個(gè)默認(rèn)參數(shù)json,可以直接簡(jiǎn)寫成:

6:寫接口請(qǐng)求,debug時(shí),會(huì)需要看下代碼請(qǐng)求的詳細(xì)信息,當(dāng)然我們可以使用fiddler來(lái)查看,其實(shí)我們自己也可以在代碼這樣獲取debug信息*

7:使用grequests實(shí)現(xiàn)異步請(qǐng)求。
pip install grequests

8:發(fā)送自定義cookies
我們使用Session實(shí)例來(lái)保持請(qǐng)求之間的cookies,但是有些特殊情況,需要使用自定義的cookies
我們可以這樣

9:需求確定前后端并行設(shè)計(jì)時(shí),這時(shí)測(cè)試并沒(méi)有辦法調(diào)用接口,如何做接口測(cè)試呢?我們可以使用mock或者是httpretty

10:統(tǒng)計(jì)一個(gè)API請(qǐng)求花費(fèi)的時(shí)間,我們可以使用如下方法

11:設(shè)置請(qǐng)求超時(shí)

關(guān)于Python ,requests的小技巧,就是這些。