Ho un socket che sta ricevendo richieste HTTP.Come creare una classe HttpWebRequest .NET da un byte ricevuto Socket []
Quindi ho una richiesta http grezza in byte [] dal mio socket.
devo studiare questa richiesta - MA
Invece di reinventare la ruota - posso 'cast' questo array di byte in uno System.Net.HttpWebRequest o qualcosa di simile?
UPDATE ----- ---------
Quindi, comunque non ho potuto trovare la risposta. Scavando un po 'più se penso che potrebbe essere fatto da funzioni chiamando in:
Httpapi.dll Penso che il HttpWebRequest utilizza questa DLL (WinXPSP2)
la struttura interessante è il 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;
Ho appena iniziato C# così scavando in COM ?? la programmazione è finita.
E guardando attraverso la documentazione, non vedo una "voce" (con la quale intendo un semplice byte di invio-> ricevi HTTP_REQUEST).
Anyhoo! se qualcuno vuole indicarmi la direzione di alcuni simpatici SERVI HTTP KERNEL MODE WINDOWS INCLUSI SSL, allora sentitevi liberi sarebbe un'ottima lettura e qualcosa da considerare per il futuro.
comprendo che smusso 'gettato' nel senso tradizionale tecnico /, ma riflette la classe HttpWebRequest e presentante un poke sembra che il HttpWebRequest viene analizzato/creato dalla SerializationInfo di WebRequest? troppo sopra la mia testa:/ – divinci
Domande simili - http://stackoverflow.com/questions/318506/converting-raw-http-request-into-httpwebrequest-object - http://stackoverflow.com/questions/743794/net -http-parser –