在Python中实现高并发请求,可以使用concurrent.futures模块来管理线程池或进程池,以并发执行HTTP请求。以下是一个简单的示例,使用requests库发送HTTP请求,并使用ThreadPoolExecutor来实现并发请求。此示例还包括记录请求的并发数和每个请求的响应时间。首先,确保安装了requests库:
python">pip install requests
然后,编写如下Python代码:import requests
from concurrent.futures import ThreadPoolExecutor
import time# 定义请求的URL和请求数据
url = "http://example.com/api/data"
data = {"query": "example_query"}# 定义并发请求的数量
concurrency = 10def fetch(url, data):"""发送单个HTTP请求的函数。记录并返回请求的响应时间和状态码。"""start_time = time.time()try:response = requests.post(url, json=data)elapsed_time = time.time() - start_timereturn elapsed_time, response.status_codeexcept requests.RequestException as e:elapsed_time = time.time() - start_timereturn elapsed_time, str(e)def main():# 使用线程池执行并发请求