HTTP网页请求无法维持会话

3
我有一个程序,想要爬取一些有用的学习材料以供个人使用。该网站维护了一个会话密钥和其他一些密钥。如果我尝试进入嵌套页面,那么会话将结束。
我无法使用Web请求类来维护会话密钥。
如何使用Web请求类来维护会话?
请帮忙。
3个回答

9
您需要在请求之间维护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。然后,您可以将该容器与后续请求一起重复使用。


0
基本上,您需要从响应头中读取会话 cookie 并在每个请求中将其作为头信息传回。具体操作可能因您针对的应用程序而异。

0
在嵌入iFrame中的页面时遇到了类似的问题。解决方法是,出于安全考虑,会话被浏览器(主要是IE8)丢弃。也许这是一个解决方案?搜索P3P以获取更多信息。
-sa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接