以下是一个使用固定延迟的代码示例,每30秒重试请求:
import time
import requests
def send_request(url):
max_retries = 5
retry_delay = 30
for i in range(max_retries):
try:
response = requests.get(url)
# 处理响应数据
return response.json()
except requests.exceptions.RequestException as e:
print(f'Request failed: {e}')
print(f'Retrying in {retry_delay} seconds...')
time.sleep(retry_delay)
print('Max retries exceeded')
return None
# 调用函数发送请求
response_data = send_request('https://example.com/api')
if response_data:
# 处理响应数据
print(response_data)
在上面的代码中,我们定义了max_retries
变量来指定最大重试次数,以及retry_delay
变量来指定重试之间的延迟时间。在每次请求失败时,代码会等待指定的延迟时间后重新尝试请求,最多重试max_retries
次。
如果请求成功,则会处理响应数据。如果达到最大重试次数仍然无法成功,则会打印"Max retries exceeded"并返回None。
请注意,这只是一个简单的示例,实际应用中可能需要根据具体情况进行适当的修改和错误处理。