一段C#代码,模拟IIS功能。

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
 
namespace HostConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            if (HttpListener.IsSupported)
            {
                HttpListener listener = new HttpListener();
                listener.Prefixes.Add("http://+:8080/");
                listener.Start();
                while (true)
                {
                    Console.Write(DateTime.Now.ToString());
                    HttpListenerContext context = listener.GetContext();
                    string page = context.Request.Url.LocalPath.Replace("/","");
                    String query = context.Request.Url.Query.Replace("?", "");
                    StreamReader sr = new StreamReader(context.Request.InputStream);
                    Console.WriteLine(sr.ReadToEnd());
                    Console.WriteLine("接收到请求:{0}?{1}", page, query);
                    StreamWriter sw = new StreamWriter(context.Response.OutputStream);
                    sw.Write("Hello World!");
                    sw.Flush();
                    context.Response.Close();
                }
            }
        }
    }
}

  

posted @   Soar、毅  阅读(1009)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示