C# WinForm 发送 HTTP 请求:GET、PUT、POST 和 DELETE 示例
以下是一个 C# WinForm 发送 HTTP 请求并携带请求头等信息的详细案例:
首先,需要添加 System.Net 命名空间,以便使用 WebRequest 和 WebResponse 类。
using System.Net;
然后,可以使用以下代码发送 HTTP GET 请求:
string url = 'http://example.com/api/getdata';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();
其中,url 是请求的 URL 地址,request 是 HttpWebRequest 对象,设置其 Method 属性为 GET 表示发送 GET 请求,response 是 HttpWebResponse 对象,用于获取响应数据,reader 是 StreamReader 对象,用于读取响应数据,result 是最终的响应结果。
可以使用以下代码发送 HTTP PUT 请求:
string url = 'http://example.com/api/putdata';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "PUT";
request.ContentType = "application/json";
string data = '{"name":"John", "age":30}';
byte[] bytes = Encoding.UTF8.GetBytes(data);
request.ContentLength = bytes.Length;
Stream stream = request.GetRequestStream();
stream.Write(bytes, 0, bytes.Length);
stream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();
其中,url 是请求的 URL 地址,request 是 HttpWebRequest 对象,设置其 Method 属性为 PUT 表示发送 PUT 请求,ContentType 属性表示发送的数据类型,data 是要发送的数据,bytes 是将 data 转换为字节数组,设置 ContentLength 属性为 bytes.Length 表示发送的数据长度,stream 是获取请求流对象,写入数据,关闭流,response 是 HttpWebResponse 对象,用于获取响应数据,reader 是 StreamReader 对象,用于读取响应数据,result 是最终的响应结果。
可以使用以下代码发送 HTTP POST 请求:
string url = 'http://example.com/api/postdata';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
string data = '{"name":"John", "age":30}';
byte[] bytes = Encoding.UTF8.GetBytes(data);
request.ContentLength = bytes.Length;
Stream stream = request.GetRequestStream();
stream.Write(bytes, 0, bytes.Length);
stream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();
其中,url 是请求的 URL 地址,request 是 HttpWebRequest 对象,设置其 Method 属性为 POST 表示发送 POST 请求,ContentType 属性表示发送的数据类型,data 是要发送的数据,bytes 是将 data 转换为字节数组,设置 ContentLength 属性为 bytes.Length 表示发送的数据长度,stream 是获取请求流对象,写入数据,关闭流,response 是 HttpWebResponse 对象,用于获取响应数据,reader 是 StreamReader 对象,用于读取响应数据,result 是最终的响应结果。
可以使用以下代码发送 HTTP DELETE 请求:
string url = 'http://example.com/api/deletedata?id=123';
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "DELETE";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();
其中,url 是请求的 URL 地址,request 是 HttpWebRequest 对象,设置其 Method 属性为 DELETE 表示发送 DELETE 请求,response 是 HttpWebResponse 对象,用于获取响应数据,reader 是 StreamReader 对象,用于读取响应数据,result 是最终的响应结果。
以上代码演示了如何发送 HTTP 请求并携带请求头等信息,开发者可以根据实际需求进行调整。
原文地址: https://www.cveoy.top/t/topic/oc8A 著作权归作者所有。请勿转载和采集!