是的,C# WebClient 類可以用于執(zhí)行批量請(qǐng)求。為了實(shí)現(xiàn)批量請(qǐng)求,您可以創(chuàng)建一個(gè) WebClient 實(shí)例并對(duì)每個(gè) URL 發(fā)送請(qǐng)求,然后將結(jié)果收集到一個(gè)列表或其他數(shù)據(jù)結(jié)構(gòu)中。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用 WebClient 類執(zhí)行批量請(qǐng)求:
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);
}
}
}
在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)包含三個(gè) URL 的列表。然后,我們創(chuàng)建了一個(gè) WebClient 實(shí)例,并為每個(gè) URL 創(chuàng)建了一個(gè)異步任務(wù)。最后,我們使用 Task.WhenAll
方法等待所有任務(wù)完成,并將結(jié)果輸出到控制臺(tái)。
請(qǐng)注意,這個(gè)示例使用了 GetStringAsync
方法,但您可以根據(jù)需要使用其他 WebClient
方法,如 GetAsync
、PostAsync
等。