可以使用Python的concurrent.futures
模块来实现并发请求接口。以下是一个简单的示例:
import requests
import concurrent.futures
# 定义请求的接口函数
def request_api(url):
response = requests.get(url)
return response.json()
# 定义接口请求的URL列表
urls = ["http://api.example.com/endpoint1", "http://api.example.com/endpoint2", "http://api.example.com/endpoint3"]
# 创建线程池
with concurrent.futures.ThreadPoolExecutor() as executor:
# 提交接口请求任务给线程池,并获取结果
results = executor.map(request_api, urls)
# 遍历结果
for result in results:
# 处理接口返回的数据
print(result)
在上述示例中,我们首先定义了一个request_api
函数,用于发送请求并返回接口的JSON数据。然后,我们创建了一个URL列表,其中包含了要请求的接口URL。接下来,使用ThreadPoolExecutor
创建了一个线程池,并使用executor.map()
方法将接口请求任务提交给线程池。最后,我们遍历结果并处理返回的数据。
你也可以使用concurrent.futures.ProcessPoolExecutor
来创建进程池,从而实现并发请求接口。只需将上述示例中的ThreadPoolExecutor
替换为ProcessPoolExecutor
即可。