```csharp
using System;
using System.Net.Http;
using HtmlAgilityPack;
var client = new HttpClient();
```
接下来,我们需要创建一个新的HttpClient对象,这将帮助我们与目标网站进行通信。
```csharp
var proxy = new Uri("http://www.duoip.cn:8000");
var handler = new HttpClientHandler();
handler.Proxy = proxy;
var client = new HttpClient(handler);
```
在这里,我们创建了一个新的HttpClientHandler对象,并将其设置为使用代理服务器。
```csharp
var response = await client.GetAsync("http://www.example.com");
```
这里,我们使用HttpGet方法从目标网站获取HTML内容。await关键字用于异步编程。
```csharp
var doc = new HtmlDocument();
doc.LoadHtml(await response.Content.ReadAsStringAsync());
```
在这里,我们创建了一个新的HtmlDocument对象,并使用ReadAsStringAsync方法读取响应内容,然后将该内容作为参数传递给LoadHtml方法。
```csharp
var Links = doc.DocumentNode.SelectNodes("//a[@href]");
foreach (var link in Links)
{
Console.WriteLine(link.Attributes["href"].Value);
}
```