urllib3重试是底层库。要设置其他最大重试计数,请使用备用传输适配器:
from requests.adapters import HTTPAdapters = requests.Session()s.mount('http://stackoverflow.com', HTTPAdapter(max_retries=5))该
max_retries参数接受一个整数或一个
Retry()对象;
后者使您可以精确地控制重试哪些类型的失败(将整数值转换为
Retry()仅处理连接失败的实例;默认情况下,不处理连接后的错误,因为这些错误可能导致副作用)
。
旧答案,早于请求1.2.1的发布 :
该
requests库实际上并没有使它可配置,也没有打算(请参见此pull
request)。当前(请求1.1),重试次数设置为0。如果您确实想将其设置为更高的值,则必须全局设置此值:
import requestsrequests.adapters.DEFAULT_RETRIES = 5
该常量未记录;使用它的后果自负,因为将来的发行版可能会更改其处理方式。
更新 :这 确实
发生了变化;在1.2.1版中,添加了在类上设置
max_retries参数的选项,因此现在您必须使用替代的传输适配器,请参见上文。除非您还修补默认值(非常不推荐),否则,猴子修补方法将不再起作用。
HTTPAdapter()
HTTPAdapter.__init__()



