2010-08-28 7 views
5

Come posso vedere l'oggetto HttpWebRequest come stringa prima di chiamare il metodo GetResponse? Voglio vedere il formato RAW di richiesta di qualcosa di simile a questo come in Fiddler:Vedere HttpWebRequest come stringa prima di GetResponse senza usare il violinista

Content-Type: multipart/form-data; boundary=---------------------------2600251021003 
Content-Length: 338 
-----------------------------2600251021003 Content-Disposition: form-data; name="UPLOAD_FILEName"; filename="Searchlight062210 w price.csv" Content-Type: application/vnd.ms-excel 
,,,,, 
-----------------------------2600251021003 
Content-Disposition: form-data; name="submit" 
submit 
-----------------------------2600251021003-- 

ho provato seguente codice, ma non ha funzionato perché flusso non è leggibile.

string GetRequestString(HttpWebRequest req) 
     { 
      Stream stream2 = req.GetRequestStream(); 
      StreamReader reader2 = new StreamReader(stream2); 
      return reader2.ReadToEnd(); 

     } 

risposta

6

Se è per scopi di registrazione è possibile attivare il tracciamento mettendo questo nel tuo app/web.config:

<system.diagnostics> 
    <sources> 
     <source name="System.Net.Sockets" tracemode="protocolonly"> 
     <listeners> 
      <add name="System.Net.Sockets" type="System.Diagnostics.TextWriterTraceListener" initializeData="network.log" /> 
     </listeners> 
     </source> 
    </sources> 

    <switches> 
     <add name="System.Net.Sockets" value="Verbose"/> 
    </switches> 

    <trace autoflush="true" /> 
    </system.diagnostics> 

eseguire il codice e guardare i file di log generato.

+1

tracemode = "protocolonly" in app.config non viene riconosciuto – Brij

+0

@brz dot net, non credere a Visual Studio. Basta eseguire il tuo codice e funzionerà. C'è sicuramente un tale elemento. È anche dichiarato su MSDN: http://msdn.microsoft.com/en-us/library/ty48b824.aspx –

+0

+1 Great Man! significa che non c'è bisogno di violinista. – Brij

Problemi correlati