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