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

2:請求時,會加上headers,一般我們會寫成這樣

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

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

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

5:?post請求提交json格式數(shù)據(jù)時,一般先要把Python對象轉(zhuǎn)換成json對象。可能很多時候是這樣寫:

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

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

7:使用grequests實現(xiàn)異步請求。
pip install grequests

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

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

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

11:設(shè)置請求超時

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