Non è possibile ottenerlo dal webclient tuttavia su WebException è possibile accedere al cast di oggetti risposta in un oggetto HttpWebResponse e sarà possibile accedere all'intero oggetto di risposta.
Vedere la definizione della classe WebException per ulteriori informazioni.
Di seguito è riportato un esempio da MSDN (non è il modo migliore per gestire l'eccezione ma dovrebbe darvi un'idea)
try {
// Create a web request for an invalid site. Substitute the "invalid site" strong in the Create call with a invalid name.
HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("invalid site");
// Get the associated response for the above request.
HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse();
myHttpWebResponse.Close();
}
catch(WebException e) {
Console.WriteLine("This program is expected to throw WebException on successful run."+
"\n\nException Message :" + e.Message);
if(e.Status == WebExceptionStatus.ProtocolError) {
Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
}
}
catch(Exception e) {
Console.WriteLine(e.Message);
}
Questa altra domanda può aiutare: http://stackoverflow.com/questions/7036491/get-webclient-errors-as-string –
E questo http://stackoverflow.com/ domande/11828843/c-sharp-webexception-how-to-get-whole-response-with-a-body – I4V