Tengo un socket que está recibiendo solicitudes HTTP.Cómo crear una clase .NET HttpWebRequest desde el byte recibido de un socket [] 's
Tengo una solicitud HTTP sin procesar en formato byte [] desde mi socket.
tengo que estudiar esta solicitud - PERO
vez de reinventar la rueda - puedo 'fundido' esta matriz de bytes en un System.NET.HttpWebRequest o algo similar?
ACTUALIZACIÓN ----- ---------
Así que de todos modos no pude encontrar la respuesta. Cavando un poco más, aunque creo que se podría hacer mediante llamadas a funciones en:
Httpapi.dll creo que el HttpWebRequest utiliza este DLL (WinXPSP2)
la estructura interesante es el 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;
Acabo de comenzar C# tan ahondar en ?? COM ?? la programación está por encima de mi cabeza.
Y mirando a través de la ducumentación, no puedo ver una 'entrada' (me refiero a un simple enviar bytes-> recibir HTTP_REQUEST).
Anyhoo! si alguien quiere indicarme algunos WINDOWS KERNEL MODE HTTP SERVERS INCLUYENDO SSL, entonces siéntase libre sería una gran lectura y algo a considerar para el futuro.
entiendo que no puedo 'echo' en el sentido tradicional/técnico, sino que refleja la clase HttpWebRequest y tener un golpe parece que el HttpWebRequest se analiza/creado a partir de la SerializationInfo de una WebRequest? también está sobre mi cabeza:/ – divinci
Preguntas similares - http://stackoverflow.com/questions/318506/converting-raw-http-request-into-httpwebrequest-object - http://stackoverflow.com/questions/743794/net -http-parser –