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
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.
http://www.fiddler2.com/fiddler2/ è un ottimo strumento per queste cose.
Non so se esiste una soluzione generale. Ma se stai usando Firefox, uno dei due componenti aggiuntivi ti aiuterà: Firebug o LiveHTTPHeaders.
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);
So come visualizzare la richiesta dal mio browser. Voglio sapere come vedere ciò che .NET sta facendo con HttpWebRequest. –
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à? –
Aggiornato con la risposta in C#. HttpWebRequest e HttpWebResponse hanno entrambi la proprietà Headers che ti darà quello che stai cercando. –
È possibile ottenere le intestazioni da un HTTPWebRequest tramite la proprietà Headers. Da MSDN: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers.aspx
Sì, ma guarda i commenti sulla risposta di Chris Doggett sopra. Le intestazioni non vengono popolate fino a quando non viene inviata la richiesta. –
- 1. Aggiungi intestazioni personalizzate utilizzando HttpWebRequest
- 2. ServiceStack JsonServiceClient - Intestazioni HTTP personalizzate non inviate
- 3. Codeigniter: Messaggio: Impossibile modificare le informazioni dell'intestazione - intestazioni già inviate da (output avviato a
- 4. Impossibile modificare le informazioni di intestazione - intestazioni già inviate da ... Wordpress Issue
- 5. Come tracciare le richieste SOAP inviate da webServiceTemplate
- 6. Come posso sapere quando le intestazioni HTTP sono state inviate in un'applicazione ASP.NET?
- 7. Come verificare se le intestazioni sono già state inviate in PHP
- 8. Come ottengo le intestazioni da un errore del server 401
- 9. Come rimuovere le intestazioni in un NSMutableURLRequest?
- 10. Come posso ottenere PHP per visualizzare le intestazioni ricevute da un browser?
- 11. Come rimuovere alcune intestazioni HTTP aggiunte da RestTemplate di Spring?
- 12. Symfony2: impossibile avviare la sessione perché le intestazioni sono già state inviate
- 13. Perché sto ricevendo l'errore "non posso modificare le intestazioni delle informazioni dell'intestazione già inviate da registration_model" nel codeigniter?
- 14. Errore di reindirizzamento espresso: impossibile impostare le intestazioni dopo che sono state inviate
- 15. Passport JS "Impossibile impostare le intestazioni dopo che sono state inviate"
- 16. Le intestazioni di Cache-Control non vengono inviate in risposta nonostante siano configurate sull'oggetto risposta
- 17. Ottieni tutte le variabili inviate con POST?
- 18. Utilizzo di HTTPS e httpWebRequest
- 19. Come ottenere le intestazioni HTTP
- 20. Recupera le intestazioni di risposta in Silverlight?
- 21. Caso di utilizzo per il buffering dell'output come soluzione corretta per "intestazioni già inviate"
- 22. Come evitare le intestazioni precompilate
- 23. Come comprimere un POST HttpWebRequest
- 24. Come ottenere le intestazioni di risposta completa da risorsa angolare
- 25. SlickGrid: come visualizzare il testo completo nelle intestazioni delle colonne?
- 26. Proprietà mancanti in HttpWebRequest
- 27. Il server non può modificare i cookie dopo che le intestazioni HTTP sono state inviate, come Fix?
- 28. Come far visualizzare a CMake le intestazioni, che non fanno parte di alcun target binario, nell'IDE?
- 29. HttpWebRequest: come identificarsi come browser?
- 30. Come posso denominare le corse inviate online con Caliper?
So come visualizzare la richiesta dal mio browser. Voglio sapere come vedere ciò che .NET sta facendo con HttpWebRequest. –