WebException如何获得整体响应与身体?

在WebException中我看不到GetResponse的主体。 这是我在C#中的代码:

try { return GetResponse(url + "." + ext.ToString(), method, headers, bodyParams); } catch (WebException ex) { switch (ex.Status) { case WebExceptionStatus.ConnectFailure: throw new ConnectionException(); case WebExceptionStatus.Timeout: throw new RequestTimeRanOutException(); case WebExceptionStatus.NameResolutionFailure: throw new ConnectionException(); case WebExceptionStatus.ProtocolError: if (ex.Message == "The remote server returned an error: (401) unauthorized.") { throw new CredentialsOrPortalException(); } throw new ProtocolErrorExecption(); default: throw; } 

我看到标题,但我没有看到身体。 这是从Wireshark输出的请求:

 POST /api/1.0/authentication.json HTTP/1.1 Content-Type: application/x-www-form-urlencoded Accept: application/json Host: nbm21tm1.teamlab.com Content-Length: 49 Connection: Keep-Alive userName=XXX&password=YYYHTTP/1.1 500 Server error Cache-Control: private, max-age=0 Content-Length: 106 Content-Type: application/json; charset=UTF-8 Server: Microsoft-IIS/7.5 X-AspNet-Version: 2.0.50727 X-Powered-By: ASP.NET X-Powered-By: ARR/2.5 Date: Mon, 06 Aug 2012 12:49:41 GMT Connection: close {"count":0,"startIndex":0,"status":1,"statusCode":500,"error":{"message":"Invalid username or password."}} 

有没有可能在WebException中看到消息文本? 谢谢。

 var resp = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd(); dynamic obj = JsonConvert.DeserializeObject(resp); var messageFromServer = obj.error.message; 
  try { WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; string content = client.DownloadString("https://sandiegodata.atlassian.net/wiki/pages/doaddcomment.action?pageId=524365"); Console.WriteLine(content); Console.ReadKey(); } catch (WebException ex) { var resp = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd(); Console.WriteLine(resp); Console.ReadKey(); }