Authentication 通过Web处理程序访问XML会导致302重定向

Authentication 通过Web处理程序访问XML会导致302重定向,authentication,redirect,ashx,Authentication,Redirect,Ashx,我正在尝试通过web处理程序访问XML文件。不过,我遇到了无限重定向(302)问题。这是因为未启用Cookie。我不完全确定是什么原因造成的,但需要一些帮助来弄清楚该怎么办 var url = context.Request.QueryString["xmlurl"]; HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(url); hwr.Method = "GET"; hwr.MaximumAutomaticRedirections

我正在尝试通过web处理程序访问XML文件。不过,我遇到了无限重定向(302)问题。这是因为未启用Cookie。我不完全确定是什么原因造成的,但需要一些帮助来弄清楚该怎么办

var url = context.Request.QueryString["xmlurl"];
HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(url);
hwr.Method = "GET";
hwr.MaximumAutomaticRedirections = 5;

//infinite redirect happens here
HttpWebResponse response = (HttpWebResponse)hwr.GetResponse();
我怀疑需要以下cookies(通过Fiddler找到):

ASP.NET_SessionId= ...
.ASPXAUTH= ...
这些是通过浏览器访问页面时创建的,但不是使用我的web处理程序。有人知道我如何解决这个问题吗

我通过web处理程序得到的确切响应是:

<html>
<head>
   <title>Object moved</title>
</head>
<body>
   <h2>Object moved to <a href="removedForSO">here</a>.</h2>
</body>
</html>

移动的对象
对象移动到。

答案相对简单。加入

hwr.CookieContainer = new CookieContainer();
它允许服务器将cookie附加到响应中,然后允许重定向,并交付最终的xml文档