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