2011-09-15 55 views
0

我想在非常低的水平上處理HTTP - 此刻我被HTTP CONNECT動詞卡住了。它看起來像HttpListener無法訪問這些請求,因爲它們在HTTP API或HTTP.SYS中的某處處理。我能夠使用本機TcpListener處理此類請求,但在這種情況下,我將失去所有HTTP功能=我將從頭開始實施HTTP。如何在.NET中處理HTTP連接?

我還檢查FiddlerCore,但它也能處理一些運API層這些請求。有沒有任何純粹的HTTP HTTP協議棧?

編輯:我正在與一些額外的請求分析和統計HTTP代理,所以我不希望失去HTTP分析,並在同一時間,我想了解SSL連接。

+0

什麼叫「純.NET HTTP棧」是什麼意思?如果是的話,有一些第三方堆棧... – Yahia

+0

如果你想在非常低的水平上處理HTTP,你真的會失去Http *類中的所有HTTP功能。什麼是問題? –

+0

使用TCP套接字,如果你想要它,使用「winsock2.dll」互操作調用形式C# –

回答

0

好的。同樣的問題是不是在API,但在開發商:)

我有一些測試套件來測試我的實現,但在測試套件直接連接(而不是作爲一個代理) - 這是第一個問題。第二個問題是,如果我想單獨測試Connect謂詞,則此測試套件應使用TcpClient而不是HttpWebRequest,因爲HttpWebRequest僅在使用HTTPS代理時在內部使用它。在.NET中實現一個堆棧,但不使用HTTP.SYS等 -

1

使用Tcp * ans Socket *,而不是Http *相關類使用真的是 .NET中的低級別。

TCP是在HTTP協議堆棧的底部。

使用TCP套接字,如果你想要它,只需使用「winsock2.dll」互操作調用構成C#,像結構定義等,或所有相關的東西用本地C++

1

好吧,如果你正在構建自定義HTTP/HTTPS服務器或代理服務器,您不介意第三方組件,那麼我們的SecureBlackbox包含HTTP/HTTPS服務器組件,它可以讓您對任何動詞做任何事情。純.NET,使用任何套接字類。

相關問題