C# WinForm 发送 HTTP 请求:GET、PUT、POST、DELETE 示例
以下是一个 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 方法。
原文地址: https://www.cveoy.top/t/topic/oc8B 著作权归作者所有。请勿转载和采集!