写一段python代码,实现请求某个接口,得到返回结果,如果返回结果为None则重试
时间: 2024-05-13 15:20:55 浏览: 370
以下是一个简单的Python代码示例,用于请求某个API并重试,直到返回结果不为None:
```
import requests
import time
def request_api(url):
response = requests.get(url)
if response.status_code == 200:
return response.json()
else:
return None
def retry_request(url, retries=3, delay=1):
for i in range(retries):
result = request_api(url)
if result is not None:
return result
else:
time.sleep(delay)
return None
# 使用示例
response = retry_request("https://some-api.com/data")
if response is not None:
print(response)
else:
print("请求失败")
```
在这个例子中,`request_api`函数发送GET请求,然后检查响应状态码。如果响应状态码是200,它将返回响应JSON数据。否则,它将返回None。
`retry_request`函数将调用`request_api`函数并尝试多次。如果响应不为None,则返回结果。否则,它将等待一段时间后重试。
在使用时,只需调用`retry_request`函数并传入API的URL即可。如果返回结果不是None,则打印响应内容。否则,打印一个错误消息。
阅读全文