2009-06-01 14 views
6

Sto raschiando un sito con HttpWebRequest, ma il sito restituisce un errore. La pagina funziona bene quando l'ho colpito dal mio browser. Mi piacerebbe confrontarli per vedere cosa potrebbe causare l'errore. So come intercettare la richiesta dal mio browser per ispezionare le intestazioni, ma come posso visualizzare i dati inviati da HttpWebRequest?Come visualizzare le intestazioni inviate da HttpWebRequest

risposta

8

Per confrontare ciò che si fa nel codice e ciò che fa il browser, sono sicuro che uno strumento di debug HTTP come Fiddler, sarebbe la soluzione più semplice.

Fiddler funge da proxy tra client e server e visualizza tutte le informazioni inviate tramite il protocollo HTTP.

È possibile che sia necessario configurare l'app .NET per utilizzare il proxy fornito da Fiddler. This blog post fornisce dettagli sull'argomento.

-1

Non so se esiste una soluzione generale. Ma se stai usando Firefox, uno dei due componenti aggiuntivi ti aiuterà: Firebug o LiveHTTPHeaders.

+0

So come visualizzare la richiesta dal mio browser. Voglio sapere come vedere ciò che .NET sta facendo con HttpWebRequest. –

2

Il pannello Rete di Firebug mostrerà tutte le richieste, comprese le intestazioni.

MODIFICA: Saw sapevi già come farlo in un browser non appena ho postato. Prova la proprietà Headers:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.stackoverflow.com"); 
request.Method = "GET"; 
HttpWebResponse response = (HttpWebResponse) request.GetResponse(); 
Console.WriteLine(response.Headers); 
+0

So come visualizzare la richiesta dal mio browser. Voglio sapere come vedere ciò che .NET sta facendo con HttpWebRequest. –

+0

Voglio vedere le intestazioni della richiesta, non le intestazioni di risposta. Quando controllo la richiesta. Signori, sono vuoti. Immagino che la raccolta di intestazioni sia utilizzata solo per specificare le intestazioni e non per controllare cosa utilizzerà? –

+0

Aggiornato con la risposta in C#. HttpWebRequest e HttpWebResponse hanno entrambi la proprietà Headers che ti darà quello che stai cercando. –

Problemi correlati