服务器重定向到未知位置时的HttpWebRequest.GetResponse

时间:2011-12-09 08:31:51

标签: c# httpwebrequest http-status-code-401

我正在尝试使用HttpWebRequest.GetResponse,其中服务器将302重定向到另一个未知位置。

如果已知重定向的目标,请将其设为www.xyz.com,以便我们可以使用configurationCache,如下所示

CredentialCache cache = new CredentialCache();
cache.Add(new Uri("http://xyz.com"), "Basic", netWorkCredential);

我从这里得到了一些信息(building a credentialcache for httpwebrequest when redirection is unknown),这显然不起作用。

但如果目标未知,我收到401 Unauthorized错误。 我从this article获得了另一个选项,从标题中获取位置并再次拨打电话。

这里有其他选择吗?如果我不清楚,请告诉我。

1 个答案:

答案 0 :(得分:1)

我认为最好的选择是使用从响应中的位置标头获取新位置,然后向新网址发出新请求。这就是浏览器的工作原理。当它收到HTTP状态代码302和301(永久移动)时,它会对新位置发出新的请求。