是的,C# WebRequest 可以成功地发起 HTTP 请求并与服务器进行通信。WebRequest 是 .NET Framework 中的一个类,它提供了一种简单的方法来发送 HTTP 请求并接收响应。以下是一个简单的示例,展示了如何使用 WebRequest 类发起一个 GET 请求:
using System;
using System.IO;
using System.Net;
using System.Text;
class Program
{
static void Main()
{
// 创建一个 WebRequest 对象
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.example.com/data");
// 设置请求方法为 GET
request.Method = "GET";
// 获取响应
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
// 读取响应内容
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
string content = reader.ReadToEnd();
Console.WriteLine(content);
}
}
}
}
这个示例中,我们首先创建了一个 WebRequest 对象,然后设置了请求的 URL 和方法(在这里是 GET 请求)。接下来,我们使用 GetResponse 方法获取服务器的响应,并使用 StreamReader 读取响应内容。最后,我们将响应内容输出到控制台。
需要注意的是,WebRequest 类支持多种 HTTP 方法,如 GET、POST、PUT、DELETE 等。你可以根据需要修改请求方法。同时,WebRequest 还提供了一些高级功能,如设置请求头、处理重定向等。你可以根据实际需求使用这些功能。