在C#中,使用HttpWebRequest
类处理代理服务器非常简单。您需要创建一个WebProxy
对象,将其分配给HttpWebRequest
对象的Proxy
属性,然后执行请求。以下是一个简单的示例,说明如何使用代理服务器发送HTTP请求:
using System; using System.IO; using System.Net; using System.Text; class Program { static void Main() { // 代理服务器的地址和端口 string proxyAddress = "http://proxy.example.com:8080"; // 创建一个WebProxy对象 WebProxy proxy = new WebProxy(proxyAddress, true); // 设置代理服务器的用户名和密码(如果需要) proxy.Credentials = new NetworkCredential("username", "password"); // 创建一个HttpWebRequest对象 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://example.com"); // 将代理分配给HttpWebRequest对象 request.Proxy = proxy; // 设置请求方法(例如GET或POST) request.Method = "GET"; try { // 发送请求并获取响应 using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { // 读取响应内容 string content = reader.ReadToEnd(); Console.WriteLine(content); } } catch (WebException ex) { // 处理异常 using (WebResponse response = ex.Response) { HttpWebResponse httpResponse = (HttpWebResponse)response; Console.WriteLine($"Error code: {httpResponse.StatusCode}"); using (StreamReader reader = new StreamReader(httpResponse.GetResponseStream(), Encoding.UTF8)) { string content = reader.ReadToEnd(); Console.WriteLine(content); } } } } }
在这个示例中,我们首先创建了一个WebProxy
对象,并将其地址设置为proxy.example.com
,端口设置为8080
。然后,我们将其分配给HttpWebRequest
对象的Proxy
属性。接下来,我们设置了请求方法(GET)并发送请求。最后,我们读取并输出响应内容。如果在发送请求时发生异常,我们将捕获它并输出错误信息。