欢迎访问宙启技术站
智能推送

详解pip._vendor.urllib3.util.retry.Retry的from_int()方法的参数和返回值

发布时间:2023-12-26 15:38:57

pip._vendor.urllib3.util.retry.Retry是一个用于重试操作的类,其中的from_int()方法用于从一个整数值创建一个Retry实例。下面将详细解释该方法的参数和返回值,并提供一个使用例子。

该方法的定义如下:

@classmethod
def from_int(cls, retries, backoff=None, redirect=None, raise_on_status=None, status_forcelist=None, method_whitelist=None, status_counter=None, respect_retry_after_header=True, raise_on_redirect=True, raise_on_status=False, read=False, connect=False):
    # implementation

参数说明如下:

- retries:可选参数,指定最大重试次数。设为0表示不重试,设为-1表示无限次重试。

- backoff:可选参数,指定每次重试之间的等待时间增量。默认为None,意味着无等待时间增量。

- redirect:可选参数,指定是否重试重定向请求。默认为None,遵循原始请求的重定向行为。

- raise_on_status:可选参数,指定是否在发生特定状态码时进行重试。默认为None。如果设置为True,会根据status_forcelist进行重试,如果设置为False,则不会根据状态码进行重试。

- status_forcelist:可选参数,用于指定哪些状态码将触发重试。默认为None,表示只有连接错误时才会触发重试。

- method_whitelist:可选参数,用于指定应用重试策略的HTTP请求方法列表。默认为None,表示适用于所有HTTP请求方法。

- status_counter:可选参数,用于指定自定义状态码计数器。默认为None,使用内置状态码计数器。

- respect_retry_after_header:可选参数,指定是否应该遵循Retry-After首部指定的等待时间。默认为True

- raise_on_redirect:可选参数,指定是否在发生重定向时引发异常。默认为True

- raise_on_status:可选参数,指定是否在发生指定状态码时引发异常。默认为False

- read:可选参数,指定是否在读取响应的情况下重试请求。默认为False

- connect:可选参数,指定是否在建立连接的情况下重试请求。默认为False

返回值是一个创建的Retry实例。

下面是一个使用例子:

from pip._vendor.urllib3.util.retry import Retry

# 创建一个从整数值创建的Retry实例
retries = 3
retry = Retry.from_int(retries)

# 打印Retry实例的属性
print("Max retries:", retry.total)
print("Backoff factor:", retry.backoff_factor)
print("Redirect:", retry.redirect)
print("Raise on status:", retry.raise_on_status)

# 输出:
# Max retries: 3
# Backoff factor: 0
# Redirect: None
# Raise on status: None

在上面的例子中,我们通过将retries设为3来创建了一个Retry实例。然后,我们使用retry实例的属性来获取相关信息,例如最大重试次数、等待时间增量、是否重试重定向请求等。根据使用的默认参数设置,backoff_factor0redirectraise_on_statusNone