WebClient:忽略HTTP 500

Mat*_*t G 6 .net c# webclient

我正在编写一个程序,它从服务器检索一些数据,对它执行一些操作,并将输出保存到csv文件.我遇到的问题是服务器(我不负责)总是返回HTTP 500内部服务器错误.我已经和那些照顾它的团队进行了交谈,虽然他们知道这些错误,但他们说这对他们来说并没有足够的影响力来解决.

有没有办法让我在代码中忽略这个响应并仍然获取数据?

Cha*_*had 8

如果您正在使用HttpWebRequest/Response,这应该可以帮助您入门:

response = null;

try
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("<url>");

    response = (HttpWebResponse)request.GetResponse();

    //no error
}
catch (WebException e)
{
    if (e.Status == WebExceptionStatus.ProtocolError)
    {
        response = (HttpWebResponse)e.Response;

        if((int)response.StatusCode == 500)
        {
            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
            {
                var result = sr.ReadToEnd();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)