在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)并發送請求。最后,我們讀取并輸出響應內容。如果在發送請求時發生異常,我們將捕獲它并輸出錯誤信息。