可以使用Python的concurrent.futures
模塊來實現(xiàn)并發(fā)請求接口。以下是一個簡單的示例:
import requests
import concurrent.futures
# 定義請求的接口函數(shù)
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"]
# 創(chuàng)建線程池
with concurrent.futures.ThreadPoolExecutor() as executor:
# 提交接口請求任務(wù)給線程池,并獲取結(jié)果
results = executor.map(request_api, urls)
# 遍歷結(jié)果
for result in results:
# 處理接口返回的數(shù)據(jù)
print(result)
在上述示例中,我們首先定義了一個request_api
函數(shù),用于發(fā)送請求并返回接口的JSON數(shù)據(jù)。然后,我們創(chuàng)建了一個URL列表,其中包含了要請求的接口URL。接下來,使用ThreadPoolExecutor
創(chuàng)建了一個線程池,并使用executor.map()
方法將接口請求任務(wù)提交給線程池。最后,我們遍歷結(jié)果并處理返回的數(shù)據(jù)。
你也可以使用concurrent.futures.ProcessPoolExecutor
來創(chuàng)建進(jìn)程池,從而實現(xiàn)并發(fā)請求接口。只需將上述示例中的ThreadPoolExecutor
替換為ProcessPoolExecutor
即可。