以下是一个使用 WinForm 处理 POST 请求并响应的例子:\n\ncsharp\nusing System;\nusing System.Collections.Generic;\nusing System.Net;\nusing System.Windows.Forms;\n\nnamespace WinFormHttpPostExample\n{\n public partial class MainForm : Form\n {\n public MainForm()\n {\n InitializeComponent();\n }\n\n private void MainForm_Load(object sender, EventArgs e)\n {\n // 启动一个本地服务器,监听特定端口\n var listener = new HttpListener();\n listener.Prefixes.Add("http://localhost:8080/");\n listener.Start();\n\n // 在新线程中接受来自客户端的请求\n var context = listener.GetContextAsync().Result;\n\n // 从请求中获取POST数据\n var request = context.Request;\n var postData = new List<string>();\n using (var reader = new System.IO.StreamReader(request.InputStream, request.ContentEncoding))\n {\n var requestBody = reader.ReadToEnd();\n postData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(requestBody);\n }\n\n // 构造响应数据\n var responseData = new { Message = "POST请求已成功处理", Data = postData };\n\n // 将响应数据发送回客户端\n var response = context.Response;\n response.ContentType = "application/json";\n response.StatusCode = (int)HttpStatusCode.OK;\n using (var writer = new System.IO.StreamWriter(response.OutputStream))\n {\n writer.Write(Newtonsoft.Json.JsonConvert.SerializeObject(responseData));\n }\n\n // 关闭服务器\n listener.Stop();\n }\n }\n}\n\n\n使用此代码,当运行 WinForm 应用程序并加载主窗体时,它将启动一个本地服务器,并在端口 8080 上监听来自客户端的请求。当收到 POST 请求时,它将从请求中获取传递的字符串列表参数,并构造一个包含响应数据的 JSON 对象。然后,它将 JSON 数据作为响应发送回客户端。\n\n请注意,此示例使用了 Json.NET 库来序列化和反序列化 JSON 数据。您可以使用 NuGet 包管理器将其添加到您的项目中。


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

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