在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请求,并打印了响应内容。