在C#中,使用WebClient類可以通過設置WebProxy屬性來使用代理服務器。以下是一個簡單的示例,展示了如何使用代理服務器進行網絡請求:
using System;
using System.Net;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 代理服務器的地址和端口
string proxyAddress = "http://proxy.example.com:8080";
// 代理服務器的用戶名和密碼(如果需要)
string proxyUsername = "username";
string proxyPassword = "password";
// 創建WebProxy對象
WebProxy proxy = new WebProxy(proxyAddress, 8080);
// 如果需要代理服務器的用戶名和密碼,進行身份驗證
if (!string.IsNullOrEmpty(proxyUsername) && !string.IsNullOrEmpty(proxyPassword))
{
proxy.Credentials = new NetworkCredential(proxyUsername, proxyPassword);
// 設置代理服務器的域(如果需要)
proxy.Domain = "example.com";
}
// 創建WebClient對象,并使用代理服務器
using (WebClient webClient = new WebClient())
{
// 設置WebClient使用代理服務器
webClient.Proxy = proxy;
try
{
// 發送GET請求
string response = await webClient.GetStringAsync("http://www.example.com");
Console.WriteLine("Response: " + response);
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
}
在這個示例中,我們首先創建了一個WebProxy對象,并設置了代理服務器的地址和端口。如果需要,我們還設置了代理服務器的用戶名和密碼。然后,我們創建了一個WebClient對象,并將其Proxy屬性設置為之前創建的WebProxy對象。最后,我們使用WebClient發送了一個GET請求,并打印了響應內容。