服务器返回302时抛出401异常

时间:2014-03-03 21:53:39

标签: c#

向服务器发出请求时,在代码中会抛出401 Unauthorized异常。但是,在网络跟踪中,我可以看到服务器实际上返回302状态。

我的代码很简单,我有一个Authorization Basic标头并创建这样的连接。

try
{
    using (HttpWebResponse remoteResp = (HttpWebResponse)httpReq.GetResponse())
    {
       //do stuff
    }
}
catch (Exception e)
{
    //401 here instead of 302
}

在我的代码中获取302时我缺少什么?

1 个答案:

答案 0 :(得分:3)

默认情况下,HttpWebRequest在返回结果之前遵循重定向。您可以按如下方式关闭此行为:

httpReq.AllowAutoRedirect = false;

如果您想允许特定数量的重定向,但不能更多,那么您可以设置MaximumAutomaticRedirections属性,默认为50。