如何截取Http请求
来源:互联网 发布:钢珠自动上弹器在淘宝 编辑:程序博客网 时间:2024/06/06 00:31
1:前言
本篇文章比较短,主要是因为我的一个随想产生的一段代码。 这段代码的功能你可以叫做是简单的Http服务器也可以叫做Http请求截取。它实现的功能就是截取Http请求然后自己做处理。
2:代码
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(); } }
3:简单解释一下
代码的核心就是HttpListener,通过它去侦听一个端口,当有请求的时候BeginGetContext交给GetContext方法进行异步处理,在这个方法的内部首先实现的就是重新监听。然后进行自己的处理。
- 如何截取Http请求
- 如何减少http请求
- 如何减少http请求
- 随笔——python截取http请求报文响应头
- http请求和json解析的截取字符串
- 截取http请求(burpsuit工具,fiddler,winsock expert)
- Android如何发送HTTP请求
- mochiweb 如何处理http请求
- oracle如何发送http请求
- C++如何监听http请求
- 服务器如何处理http请求
- 如何查看HTTP请求头
- 如何压缩 HTTP 请求正文
- 如何压缩 HTTP 请求正文
- 如何处理HTTP POST/GET请求
- 如何处理HTTP POST/GET请求
- servlet容器如何处理http请求?
- 如何获取http请求的应答
- bt chinese front setting
- c#Cookie的使用
- cookie的循环写入和跨页面读出
- 人应该“懒”一些
- J-LINK V8固件烧录指导
- 如何截取Http请求
- jQuery案例_@注册时选择阅读条款_@左右移动
- Eclipse用法和技巧四:生成说明文档1
- 圆形碰撞
- 371. Respect yourself, or no one will respect you. 要人尊重,必须自重
- Delphi Socket编程(1)
- linux对i386保护模式的选择性使用
- 通过SQL绘制杨辉三角
- Winform版计算器