request重试机制

import time
import requests
from requests.adapters import HTTPAdapter

s = requests.Session()
s.mount('http://', HTTPAdapter(max_retries=3))
s.mount('https://', HTTPAdapter(max_retries=3))

print('1', time.strftime('%Y-%m-%d %H:%M:%S'))
try:
    r = s.get('http://www.google.com.hk', timeout=5)
    print(r.text)
except requests.exceptions.RequestException as e:
    print(e)
print('2', time.strftime('%Y-%m-%d %H:%M:%S'))

max_retries 为最大重试次数,重试3次,加上最初的一次请求,一共会执行4次,所以上述代码运行耗时是20秒而不是15秒

你可能感兴趣的:(python笔记,python,request,session)