以下是一个 C# WinForm 发送 HTTP 请求的详细案例,包括 GET、PUT、POST 和 DELETE 请求,并携带参数和请求头等信息。

首先需要在项目中引用 System.Net 命名空间。

GET 请求:

string url = 'https://example.com/api/user?id=123';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/json";
request.Headers.Add("Authorization", "Bearer " + token);

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
    {
        string responseText = reader.ReadToEnd();
        // 处理响应数据
    }
}

PUT 请求:

string url = 'https://example.com/api/user';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "PUT";
request.ContentType = "application/json";
request.Headers.Add("Authorization", "Bearer " + token);

string requestData = '{"id":123,"name":"John Smith","age":30}';
byte[] data = Encoding.UTF8.GetBytes(requestData);
request.ContentLength = data.Length;

using (Stream stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
    {
        string responseText = reader.ReadToEnd();
        // 处理响应数据
    }
}

POST 请求:

string url = 'https://example.com/api/user';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.Headers.Add("Authorization", "Bearer " + token);

string requestData = '{"name":"John Smith","age":30}';
byte[] data = Encoding.UTF8.GetBytes(requestData);
request.ContentLength = data.Length;

using (Stream stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
    {
        string responseText = reader.ReadToEnd();
        // 处理响应数据
    }
}

DELETE 请求:

string url = 'https://example.com/api/user?id=123';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "DELETE";
request.ContentType = "application/json";
request.Headers.Add("Authorization", "Bearer " + token);

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
    {
        string responseText = reader.ReadToEnd();
        // 处理响应数据
    }
}

其中,url 为请求的 API 地址,token 为访问令牌,可以根据实际情况进行修改。requestData 为请求的 JSON 数据,可以根据 API 的要求进行修改。以上代码均为同步请求,如果需要异步请求,可以使用 BeginGetResponse 和 EndGetResponse 方法。

C# WinForm 发送 HTTP 请求:GET、PUT、POST、DELETE 示例

原文地址: https://www.cveoy.top/t/topic/oc8B 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录