C#调用WebApi时 如果状态码不为200的处理(默认情况下会抛出异常)
处理如下,需要将web请求包裹在try catch中,并且捕获到的异常为WebException类型.
try
{
WebClient wc = new WebClient();
}
catch (WebException e)
{
using (HttpWebResponse hr = (HttpWebResponse)e.Response)
{
//在这里对接收到的页面内容进行处理
int statusCode = (int)hr.StatusCode;
StringBuilder sb = new StringBuilder();
StreamReader sr = new StreamReader(hr.GetResponseStream(), Encoding.UTF8);
sb.Append(sr.ReadToEnd());
}
}