在使用 Requests 库时,我不断看到与此类似的示例来添加重试。但是,我不确定请求是否会choice(my_proxy_list)在每次重试时执行,从而获得一个新的代理,或者只是继续使用与初始请求相同的参数重试。
import my_proxy_list
from random import choice
import requests
from requests.packages.urllib3.util.retry import Retry
from requests.adapters import HTTPAdapter
session = requests.Session()
retries = Retry(total=5, backoff_factor=0.4, status_forcelist=[400, 429, 500, 502, 503, 504])
session.mount("http://", HTTPAdapter(max_retries=retries))
response = session.get(
url=url,
proxies=choice(my_proxy_list),
timeout=(10, 27),
)
session.close()