У меня есть сокет, который принимает HTTP-запросы.Как создать класс .NET HttpWebRequest из полученного байта Socket []
Итак, у меня есть сырой http-запрос в форме byte [] из моего сокета.
Я должен изучить этот запрос - НО
Вместо того чтобы изобретать колесо - я могу «бросить» этот байтовый массив в System.Net.HttpWebRequest или что-то подобное?
----- UPDATE ---------
Так или иначе я не мог найти ответ. Разобравшись немного дальше, хотя я думаю, что это может быть сделано путем вызова функции:
HttpApi.dll Я думаю, что HttpWebRequest использует эту библиотеку DLL (winxpsp2)
интересная структура является HTTP_REQUEST
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! если кто-то хочет указать мне в сторону какого-нибудь хорошего WINDOWS KERNEL MODE HTTP-СЕРВЕРОВ, ВКЛЮЧАЯ SSL, тогда чувствуйте себя свободно, это будет отличное чтение и что-то, что нужно учитывать в будущем.
Я понимаю, что косяк «отливать» в традиционном/техническом смысле, но отражает класс HttpWebRequest и имеющий совать, кажется, что HttpWebRequest анализируется/создается из SerializationInfo WebRequest? его тоже над головой:/ – divinci
Похожие вопросы - http://stackoverflow.com/questions/318506/converting-raw-http-request-into-httpwebrequest-object - http://stackoverflow.com/questions/743794/net -http-parser –