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

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

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

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

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

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

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

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

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

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

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

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

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

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