Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HTTP状态为“不正常”时ASP.NET获取Web响应_C#_.net_Asp.net_Http_Httpwebrequest - Fatal编程技术网

C# HTTP状态为“不正常”时ASP.NET获取Web响应

C# HTTP状态为“不正常”时ASP.NET获取Web响应,c#,.net,asp.net,http,httpwebrequest,C#,.net,Asp.net,Http,Httpwebrequest,在响应状态代码不是200 OK的情况下,我需要从HTTP GET读取响应。有时是401,有时是403,但是会有一个响应内容。如果我尝试使用HttpWebResponse和HttpWebRequest类,当响应状态为not OK时,它会抛出一个异常。有什么建议吗?除非catch中的response是空的,就像对我一样,然后它抛出另一个异常,完全没有用。。。不过,我当时正在测试一台故意断开连接的服务器。我的例外“无法连接到远程服务器”对我来说已经足够好了。但是,是的,通常情况下,状态代码和其他问题的

在响应状态代码不是200 OK的情况下,我需要从HTTP GET读取响应。有时是401,有时是403,但是会有一个响应内容。如果我尝试使用HttpWebResponse和HttpWebRequest类,当响应状态为not OK时,它会抛出一个异常。有什么建议吗?

除非catch中的
response
是空的,就像对我一样,然后它抛出另一个异常,完全没有用。。。不过,我当时正在测试一台故意断开连接的服务器。我的例外“无法连接到远程服务器”对我来说已经足够好了。但是,是的,通常情况下,状态代码和其他问题的详细信息都会有例外。我对这段代码的建议-只需处理null
响应
-可能
返回e.ToString()就足够了。下次——添加一个
request.Credentials=CredentialCache.DefaultCredentials作为此代码的第二行!!我不断收到
(401)未经授权的
错误,无法找出原因,因为我正在调用一个添加了该行的web服务,然后我正在尝试此代码!我也要对这个人这么做!而此代码不会传递
401
,它会为状态代码显示
未经授权的
var request = (HttpWebRequest)WebRequest.Create("http://stackoverflow.com/1");
try
{
    using (WebResponse response = request.GetResponse())
    {
        // Success
    }
}
catch (WebException e)
{
    using (WebResponse response = e.Response)
    {
        HttpWebResponse httpResponse = (HttpWebResponse)response;
        Console.WriteLine("Error code: {0}", httpResponse.StatusCode);
        using (var streamReader = new StreamReader(response.GetResponseStream()))
            Console.WriteLine(streamReader.ReadToEnd());
    }
}