在使用HtmlAgilityPack库进行多个HTTP请求时,可以使用HttpClient来维持多个请求的连接。以下是一个使用HtmlAgilityPack和HttpClient的示例代码:
using System;
using System.Net.Http;
using HtmlAgilityPack;
class Program
{
static async void Main(string[] args)
{
// 创建HttpClient实例
HttpClient client = new HttpClient();
// 发送第一个HTTP请求
HttpResponseMessage response1 = await client.GetAsync("https://example.com/page1");
string html1 = await response1.Content.ReadAsStringAsync();
// 解析第一个HTTP响应的HTML内容
HtmlDocument doc1 = new HtmlDocument();
doc1.LoadHtml(html1);
// 发送第二个HTTP请求
HttpResponseMessage response2 = await client.GetAsync("https://example.com/page2");
string html2 = await response2.Content.ReadAsStringAsync();
// 解析第二个HTTP响应的HTML内容
HtmlDocument doc2 = new HtmlDocument();
doc2.LoadHtml(html2);
// 处理HTML文档
// ...
// 关闭HttpClient
client.Dispose();
}
}
在上面的示例中,我们首先创建了一个HttpClient实例。然后,我们发送第一个HTTP请求并获取响应。接下来,我们使用HtmlAgilityPack来解析第一个HTTP响应的HTML内容。然后,我们发送第二个HTTP请求并获取响应,再次使用HtmlAgilityPack来解析第二个HTTP响应的HTML内容。最后,我们可以根据需要处理HTML文档。
请注意,在完成所有HTTP请求后,我们需要调用HttpClient的Dispose方法来关闭连接并释放资源。
希望这个示例对你有帮助!