答案:使用C#的HttpListener类可创建轻量级Web服务器。首先配置监听前缀并注册URL权限,然后启动监听并处理请求,返回HTML响应,最后通过netsh命令管理端口访问权限。
在C#中实现一个简单的Web服务器,可以使用.NET Framework自带的 HttpListener 类。它不需要依赖IIS,能够监听指定的HTTP请求并返回响应内容,非常适合开发轻量级本地服务或调试用途。
要使用 HttpListener,首先需要创建实例,添加监听的URL前缀,并启动监听器。
注意:需要管理员权限运行程序,且URL前缀需通过 netsh 命令注册(Windows系
统)。
示例代码:
using System; using System.Net;class SimpleWebServer { private HttpListener _listener;
public void Start(string prefix) { if (!HttpListener.IsSupported) { Console.WriteLine("当前系统不支持 HttpListener"); return; } _listener = new HttpListener(); _listener.Prefixes.Add(prefix); // 例如:https://www./link/cbb686245ece57c9827c4bc0d0654a8e/ _listener.Start(); Console.WriteLine($"服务器已启动,监听地址:{prefix}"); Listen(); } private async void Listen() { while (_listener.IsListening) { var context = await _listener.GetContextAsync(); HandleRequest(context); } }}
2. 处理HTTP请求
每个请求由 HttpListenerContext 表示,包含请求(HttpRequest)和响应(HttpResponse)对象。
你可以读取请求方法、路径、查询参数等,并写入响应内容。
示例处理逻辑:
private void HandleRequest(HttpListenerContext context) { var request = context.Request; var response = context.Response;string responseString = $@"Hello from C# Web Server!
请求路径:{request.Url.PathAndQuery}
请求方法:{request.HttpMethod}
客户端IP:{request.RemoteEndPoint}
"; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString); response.ContentLength64 = buffer.Length; response.ContentType = "text/html; charset=utf-8"; response.OutputStream.Write(buffer, 0, buffer.Length); response.Close();}
3. 注册URL权限(Windows 必须)
首次使用指定端口时,系统可能拒绝访问。你需要以管理员身份运行命令提示符,执行以下命令:
netsh http add urlacl url=https://www./link/cbb686245ece57c9827c4bc0d0654a8e/ user=everyone完成后,你的程序才能绑定到该地址。如果想监听所有IP,可用:
netsh http add urlacl url=http://*:8080/ user=everyone不再使用时可删除注册:
netsh http delete urlacl url=https://www./link/cbb686245ece57c9827c4bc0d0654a8e/4. 完整运行示例
将所有部分组合起来:
static void Main(string[] args) { var server = new SimpleWebServer(); server.Start("https://www./link/cbb686245ece57c9827c4bc0d0654a8e/");Console.WriteLine("按任意键停止服务器..."); Console.ReadKey(); if (server._listener?.IsListening == true) server._listener.Stop();}
运行后打开浏览器访问 https://www./link/cbb686245ece57c9827c4bc0d0654a8e,即可看到返回的HTML页面。
基本上就这些。你可以在 HandleRequest 中加入路由判断、静态文件返回、POST数据解析等功能,逐步扩展成更实用的小型服务端应用。
# c# # html # windows # 浏览器 # 端口 # iis # ai # 路由 # win # stream # windows系统 # 对象 # http
相关文章: 建站之星24小时客服电话如何获取? 如何高效完成独享虚拟主机建站? 武汉外贸网站制作公司,现在武汉外贸前景怎么样啊? 如何快速选择适合个人网站的云服务器配置? 建站之星如何优化SEO以实现高效排名? 山东网站制作公司有哪些,山东大源集团官网? c# await 一个已经完成的Task会发生什么 h5在线制作网站电脑版下载,h5网页制作软件? 邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种? 建站主机是什么?如何选择适合的建站主机? 如何通过PHP快速构建高效问答网站功能? 南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样? 宝塔新建站点为何无法访问?如何排查? 东莞市网站制作公司有哪些,东莞找工作用什么网站好? 百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系? 如何通过虚拟主机空间快速建站? 网站网页制作专业公司,怎样制作自己的网页? 建站之星如何助力网站排名飙升?揭秘高效技巧 家庭服务器如何搭建个人网站? 大连企业网站制作公司,大连2025企业社保缴费网上缴费流程? 浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样? 宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊? 电视网站制作tvbox接口,云海电视怎样自定义添加电视源? 如何在新浪SAE免费搭建个人博客? 如何制作网站标识牌,动态网站如何制作(教程)? 建站ABC备案流程中有哪些关键注意事项? 网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片? 东莞专业制作网站的公司,东莞大学生网的网址是什么? 如何用PHP快速搭建CMS系统? 建站之星安装需要哪些步骤及注意事项? 七夕网站制作视频,七夕大促活动怎么报名? 香港服务器网站生成指南:免费资源整合与高速稳定配置方案 建站之星后台管理:高效配置与模板优化提升用户体验 如何快速生成专业多端适配建站电话? 建站之星CMS五站合一模板配置与SEO优化指南 JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种) 如何通过西部数码建站助手快速创建专业网站? c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】 如何获取PHP WAP自助建站系统源码? Python如何创建带属性的XML节点 建站之星如何实现五合一智能建站与营销推广? 如何通过可视化优化提升建站效果? 如何高效生成建站之星成品网站源码? 建站之星如何快速生成多端适配网站? 广东专业制作网站有哪些,广东省能源集团有限公司官网? 在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么? php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】 香港服务器WordPress建站指南:SEO优化与高效部署策略 湖州网站制作公司有哪些,浙江中蓝新能源公司官网? 手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
*请认真填写需求信息,我们会在24小时内与您取得联系。