【发布时间】:2011-09-15 13:01:43
【问题描述】:
我想在非常低的级别上处理 HTTP - 目前我被 HTTP CONNECT 动词卡住了。看起来HttpListener 无权访问这些请求,因为它们是在 HTTP API 或 HTTP.SYS 中的某处处理的。我可以使用本机 TcpListener 处理此类请求,但在这种情况下,我将失去所有 HTTP 功能 = 我将从头开始实现 HTTP。
我还检查了 FiddlerCore,但它也在某些 Win API 层上处理这些请求。有没有纯 .NET HTTP 堆栈?
编辑:我正在使用 HTTP 代理进行一些额外的请求分析和统计,因此我不想丢失 HTTP 解析,同时我想了解 SSL 连接。
【问题讨论】:
-
你所说的“纯 .NET HTTP 堆栈”是什么意思 - 一个在 .NET 中实现但不使用 HTTP.SYS 等的堆栈?如果是的话,有一些第 3 方堆栈...
-
如果您想在非常低的级别上处理 HTTP,您真的会失去 Http* 类中的所有 HTTP 功能。问题是什么?
-
如果需要,请使用 TCP 套接字,使用 c# 中的“winsock2.dll”互操作调用
-
BTW
HTTP CONNECT是实现 HTTP 代理 AFAIK 的动词 - 这是您需要实现的吗?