2009-05-15 8 views

risposta

8

È possibile utilizzare la proprietà InputStream di Re oggetto di ricerca. Questo ti darà i dati grezzi della richiesta http. In genere si potrebbe voler fare questo come un gestore http personalizzato, ma credo che tu possa farlo in qualsiasi momento.

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

Il modo migliore per farlo è tramite alcuni plug-in del browser come Fiddler o LiveHttpHeaders (solo per Firefox). Quindi puoi intercettare i dati POST non elaborati.

6

È possibile utilizzare BinaryRead per leggere da richiesta del corpo:

Request.BinaryRead 

Oppure si potrebbe ottenere un riferimento in ingresso Stream oggetto con:

Request.InputStream 

allora si potrebbe utilizzare CopyStream:

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

.NET 4.0 ora ha un metodo 'Stream.CopyTo()'. – spoulson

2

È possibile utilizzare un'applicazione proxy come Fiddler. Ciò consentirà di esaminare tutti i dati trasferiti e di salvarli in un file in base alle esigenze.

+0

perfetto, questo mostra tutte le informazioni inviate e ricevute! – Dediqated

5

Se si desidera solo i dati POST, è possibile utilizzare Request.Form.ToString() per ottenere tutti i dati in un modo codificato dell'URL.

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