私はHTTP要求を受信しているソケットがあります。どのようにソケットの受信バイト[]のから.NET HttpWebRequestクラスを作成
私はソケットからバイト[]形式で生のhttp要求を持っています。
私はこの要求を勉強しなければならない- 代わりに車輪の再発明の
は - 私はこのバイトSystem.Net.HttpWebRequestに配列または似たような「キャスト」することができますか?
----- UPDATE ---------
とにかく、私は答えを見つけることができませんでした。私はそれが中で呼び出す機能によって行うことができると思いますけれどもさらに少し掘って:
HttpApi.dll私は興味深い構造がHTTP_REQUEST
あるHttpWebRequestのは、このDLLを使用していることを考える(winxpsp2)
C++
typedef struct _HTTP_REQUEST {
ULONG Flags;
HTTP_CONNECTION_ID ConnectionId;
HTTP_REQUEST_ID RequestId;
HTTP_URL_CONTEXT UrlContext;
HTTP_VERSION Version;
HTTP_VERB Verb;
USHORT UnknownVerbLength;
USHORT RawUrlLength;
PCSTR pUnknownVerb;
PCSTR pRawUrl;
HTTP_COOKED_URL CookedUrl;
HTTP_TRANSPORT_ADDRESS Address;
HTTP_REQUEST_HEADERS Headers;
ULONGLONG BytesReceived;
USHORT EntityChunkCount;
PHTTP_DATA_CHUNK pEntityChunks;
HTTP_RAW_CONNECTION_ID RawConnectionId;
PHTTP_SSL_INFO pSslInfo;
}HTTP_REQUEST_V1, *PHTTP_REQUEST_V1;
私はちょうどC#を掘り下げて、「COM?プログラミングは私の頭の上にある。
ducumentationを見て、私は「エントリ」(これは単純なバイト送信 - >受信HTTP_REQUEST)を見ることができません。
Anyhoo!もし誰かがSSLを始めとするいくつかの素敵なWINDOWSカーネルモードHTTPサーバーの方向に私を指し示したいのであれば、それは素晴らしい読書であり、将来のために考慮すべきことであると自由に感じてください。
:ここ
は一例ですWebRequestのSerializationInfo?そのあまりにも私の頭の上:/ – divinci同様の質問 - http://stackoverflow.com/questions/318506/converting-raw-http-request-into-httpwebrequest-object- http://stackoverflow.com/questions/743794/net -http-parser –