2009-05-15 10 views

Respuesta

8

Puede usar la propiedad InputStream de la Re objeto de búsqueda. Esto le dará los datos brutos de la solicitud http. En general, es posible que desee hacer esto como un controlador http personalizado, pero creo que puede hacerlo en cualquier momento.

if (Request.RequestType == "POST") 
{ 
    using (StreamReader reader = new StreamReader(Request.InputStream)) 
    { 
     // read the stream here using reader.ReadLine() and do your stuff. 
    } 
} 
0

La mejor manera de hacerlo es mediante algún complemento del navegador como Fiddler o LiveHttpHeaders (solo Firefox). Luego puede interceptar los datos de POST sin procesar.

6

Puede utilizar BinaryRead para leer desde la solicitud cuerpo:

Request.BinaryRead 

O usted podría obtener una referencia a la entrada Stream objeto con:

Request.InputStream 

Posteriormente, se podría utilizar CopyStream:

using (FileStream fs = new FileStream(...)) 
    CopyStream(fs, Request.InputStream); 
+3

.NET 4.0 ahora tiene un método 'Stream.CopyTo()'. – spoulson

2

Puede utilizar una aplicación proxy como Fiddler. Esto le permitirá ver todos los datos que se transfirieron, así como guardarlos en un archivo según sea necesario.

+0

perfecto, ¡muestra toda la información enviada y recibida! – Dediqated

5

Si solo desea datos POST, puede usar Request.Form.ToString() para obtener todos los datos en una forma codificada en la url.

if (Request.RequestType == "POST") { 
    string myData = Request.Form.ToString(); 
    writeData(myData); //use the string to dump it into a file, 
} 
Cuestiones relacionadas