用于重定向请求的HttpWebRequest cookie

时间:2014-10-08 12:42:21

标签: c# httpwebrequest

在我的程序中,我应该在网站上进行授权,获取授权cookie值并向页面发送请求(第1页,其中的网址如“mysite.com/lots/8188/request/4261/”),这会将我重定向到另一个(第2页,其网址如“mysite.com/lots/view/8188 /”):

sendingRequest.CookieContainer = new CookieContainer();
                sendingRequest.CookieContainer.Add(sendingRequest.RequestUri, new Cookie(ASPNETSessionIdCookieName, this.ASPNETSessionIdCookie));
sendingRequest.AllowAutoRedirect = true;
                sendingRequest.MaximumAutomaticRedirections = 100;
HttpWebResponse response = (HttpWebResponse)sendingRequest.GetResponse();

好的,page1返回我预期的HTTP 302页面,其中包含page2的预期url,然后发送请求转到第2页,但它不会将ASPNETSessionIdCookieName cookie发送到page2,服务器返回我不正确的响应。 如何将“ASPNETSessionIdCookieName”用于重定向的请求?

1 个答案:

答案 0 :(得分:0)

自动重定向将遵循cookie域/ URI来检查是否应该再次发送cookie,一旦URL发生变化我相信问题是CookieContainer.Add的第一个参数。

您将Cookie限制为首页网址。

尝试更改以下内容:

sendingRequest.CookieContainer.Add(new Cookie(ASPNETSessionIdCookieName, this.ASPNETSessionIdCookie));

如果您只想将cookie限制在该域中,您可以使用Cookie四个参数构造函数。