迷你服务器开机无显示,HttpListener初次使用,编写迷你http服务器,启动,访问一直不成功,收不到请求,怎么解决?...

Hi Trian55,

你可以尝试以下代码来实现httplistener的简单使用,相关的代码我已经写了注释,你可以看下。

static void Main(string[] args)

{

// 检查系统是否支持

if (!HttpListener.IsSupported)

{

throw new System.InvalidOperationException(

"使用 HttpListener 必须为 Windows XP SP2 或 Server 2003 以上系统!");

}

// 注意前缀必须以 / 正斜杠结尾

string[] prefixes = new string[] { "http://localhost:9090/1.htm/" };

// 创建监听器.

HttpListener listener = new HttpListener();

// 增加监听的前缀.

foreach (string s in prefixes)

{

listener.Prefixes.Add(s);

}

// 开始监听

listener.Start();

Console.WriteLine("监听中...");

while (true)

{

// 注意: GetContext 方法将阻塞线程,直到请求到达

HttpListenerContext context = listener.GetContext();

// 取得请求对象

HttpListenerRequest request = context.Request;

Console.WriteLine("{0} {1} HTTP/1.1", request.HttpMethod, request.RawUrl);

Console.WriteLine("Accept: {0}", string.Join(",", request.AcceptTypes));

Console.WriteLine("Accept-Language: {0}",

string.Join(",", request.UserLanguages));

Console.WriteLine("User-Agent: {0}", request.UserAgent);

Console.WriteLine("Accept-Encoding: {0}", request.Headers["Accept-Encoding"]);

Console.WriteLine("Connection: {0}",

request.KeepAlive ? "Keep-Alive" : "close");

Console.WriteLine("Host: {0}", request.UserHostName);

Console.WriteLine("Pragma: {0}", request.Headers["Pragma"]);

// 取得回应对象

HttpListenerResponse response = context.Response;

// 构造回应内容

string responseString

= @"

From HttpListener Server

Hello, world.

";

// 设置回应头部内容,长度,编码

response.ContentLength64

= System.Text.Encoding.UTF8.GetByteCount(responseString);

response.ContentType = "text/html; charset=UTF-8";

// 输出回应内容

System.IO.Stream output = response.OutputStream;

System.IO.StreamWriter writer = new System.IO.StreamWriter(output);

writer.Write(responseString);

// 必须关闭输出流

writer.Close();

if (Console.KeyAvailable)

break;

}

// 关闭服务器

listener.Stop();

}

这里我的程序是必须要以管理员权限进行的,另外我再说下httplistener的简单的使用,httplistener是在网页打开后运行程序,如果监测到了,就返回一些基本数据,我做的这个是成功监测到后原始的网页会发生改变,变成Hello, world界面网页。

你可以先尝试下我的代码,如果有其他问题,你可以再问我。

这也是官方文档中Httplistener使用的方法:

Best Regards,

Jack

MSDN Community Support

Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to

MSDN Support, feel free to contact MSDNFSF@microsoft.com.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值