可以使用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
即可。