2017-08-02 63 views
2

我想刪除重複x.raise_for_status()線:請求 - 隨時撥打raise_for_status

x = requests.get(url1) 
x.raise_for_status() 

y = requests.delete(url2) 
y.raise_for_status() 

z = requests.post(url3, data={'foo': 'bar'}) 
z.raise_for_status() 

如何自動調用raise_for_status()

+0

我想知道如果創建一個裝飾作用,它重新綁定到「請求」模塊是可行/適用 –

+0

@CédricVanRompay你所描述的是稱爲「猴子補丁」,通常這是應該避免的 –

回答

3

用鉤子創建一個會話:

session = requests.Session() 
session.hooks = { 
    'response': lambda r, *args, **kwargs: r.raise_for_status() 
} 

x = session.get(url1) 
y = session.delete(url2) 
z = session.post(url3, data={'foo': 'bar'})