Http web请求不会保留会话
问题描述:
我有程序,我想为我取消一些有用的学习资料。 此网站还维护会话密钥和其他一些密钥。 如果我试图去嵌套页面,那么它会抛出我并显示会话消息。 我无法在Web请求类中维护会话密钥。 所以请给我一些想法,我如何维护Web请求类中的会话。Http web请求不会保留会话
答
您需要在整个请求中维护CookiesCollection。
var request = (HttpWebRequest)HttpWebRequest.Create("http://www.mysite.com/");
var cookies = new CookieContainer();
//Pass the collection along with each request to maintain session
request.CookieContainer = cookies;
当您收到回应时,您的容器将自动包含与其关联的一组Cookie。然后您可以在随后的请求中重复使用该容器。
答
本质上,您将希望从响应标题中读取会话cookie,并在发出每个请求时将其传回到标题中。根据您的目标应用程序,可能还有更多。
答
在将页面嵌入到iFrame中时出现类似问题。解决方案是,出于安全目的,浏览器会丢弃会话(主要是IE8)。也许这是一个污点? Google为P3P获取更多信息。
-sa