源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp.net 截取Http请求的实现代码

  • 时间:2020-10-15 00:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp.net 截取Http请求的实现代码
[b]1:前言 [/b]本篇文章比较短,主要是因为我的一个随想产生的一段代码。 这段代码的功能你可以叫做是简单的Http服务器也可以叫做Http请求截取。它实现的功能就是截取Http请求然后自己做处理。 [b]2:代码[/b]
[u]复制代码[/u] 代码如下:
public class HttpServer : IDisposable { private HttpListener listener; public void Start() { listener = new HttpListener(); listener.Prefixes.Add("http://localhost/"); listener.AuthenticationSchemes = AuthenticationSchemes.IntegratedWindowsAuthentication | AuthenticationSchemes.Anonymous; listener.Start(); listener.BeginGetContext(GetContext, null); } private void GetContext(IAsyncResult ar) { HttpListenerRequest Request; HttpListenerResponse Response; try { HttpListenerContext ctx = listener.EndGetContext(ar); Request = ctx.Request; Response = ctx.Response; //setup waiting for the next request listener.BeginGetContext(GetContext, null); } catch (InvalidOperationException) { return; } catch (HttpListenerException) { return; } try { var sw = new StreamWriter(Response.OutputStream); sw.Write(@"<html><body><p>你的请求已经被截取</p></body></html>"); sw.Flush(); } finally { Response.OutputStream.Flush(); Response.Close(); } } public void Dispose() { if (listener != null) listener.Stop(); } }
[b]3:简单解释一下 [/b]代码的核心就是HttpListener,通过它去侦听一个端口,当有请求的时候BeginGetContext交给GetContext方法进行异步处理,在这个方法的内部首先实现的就是重新监听。然后进行自己的处理。 呵呵,这段代码有什么其他用处待考虑。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部