如何获取内部服务器(500)错误的内容?

时间:2014-06-10 13:30:57

标签: c# webclient dotnet-httpclient

我想获得500错误的内容:似乎不允许我这样做,抛出异常:

using(var wc = new WebClient()){
    wc.DownloadString(address).Dump();
}
using(var wc = new HttpClient())
{
    var result = await wc.GetStringAsync(address);
    result.Dump();
}

和是地址是有效地址"http://foo.azurewebsites.net/Account/Login" 我已经分别试过了。

如何从asp.net网站上阅读500错误的内容/响应?

2 个答案:

答案 0 :(得分:2)

WebException具有Response属性。它像任何其他响应一样工作。您可以阅读其内容和确切的状态代码。

答案 1 :(得分:0)

这会显示有关如何阅读Response属性usr的其他详细信息

void Main()
{
    try
    {           
        using(var wc = new WebClient()){
            wc.DownloadString(Util.ReadLine("sitename?")).Dump("success");
        }
    }
    catch (WebException ex)
    {
        string response;
        using(var stream=ex.Response.GetResponseStream())
        using(var sr = new StreamReader(stream))
        {
            response=sr.ReadToEnd();
        }
        response.Dump("error");
    }

}