是的,C# WebClient 类可以用于执行批量请求。为了实现批量请求,您可以创建一个 WebClient 实例并对每个 URL 发送请求,然后将结果收集到一个列表或其他数据结构中。以下是一个简单的示例,展示了如何使用 WebClient 类执行批量请求:
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
List<string> urls = new List<string>
{
"https://api.example.com/data1",
"https://api.example.com/data2",
"https://api.example.com/data3"
};
var webClient = new WebClient();
var tasks = new List<Task<string>>();
foreach (var url in urls)
{
tasks.Add(webClient.GetStringAsync(url));
}
var results = await Task.WhenAll(tasks);
foreach (var result in results)
{
Console.WriteLine(result);
}
}
}
在这个示例中,我们首先创建了一个包含三个 URL 的列表。然后,我们创建了一个 WebClient 实例,并为每个 URL 创建了一个异步任务。最后,我们使用 Task.WhenAll
方法等待所有任务完成,并将结果输出到控制台。
请注意,这个示例使用了 GetStringAsync
方法,但您可以根据需要使用其他 WebClient
方法,如 GetAsync
、PostAsync
等。