requests请求网页的时候常常请求失败或错误,一般的操作是各种判断状态和超时,需要多次重试请求,这种情况下,如果想优雅的实现功能,可以学习下retrying包下的retry装饰器的使用
首先
from retrying import retry
然后再post函数中使用 装饰器
def post(self,url,postdata):
s = requests.Session()
if self.ios:
s.mount('http://', HTTPAdapter(max_retries=5))
s.mount('https://', HTTPAdapter(max_retries=5))
req = s.post(url, data=postdata,verify=False,timeout=15.05)
res = req.text
return res
else:
req = s.get(url,params=postdata,verify=False,timeout=5.05)
res = req.text
return res