CookieContainer真的很方便,自行处理了Cookie问题,可以节省很多精力,但是刚才我发现往一个页面提交数据时老出错。纳闷之余,查看了一下返回的HttpWebResponse头部的“Set-Cookie”,发现Set-Cookie里的几个Cookie竟然CookieContainer里没有,返回的Cookie没有写进CookieContainer,少了这几个关键的Cookie,所以提交老出错。不知道大家遇到过这种问题没有?是怎么回事?有没有什么解决方法?
后来有不少朋友问我这个问题,估计是搜到了这里看到了我的这个提问。我遇到的问题是那个网站的cookies不规范,.net的cookies解析器解析不了引起的,解决方法是自己手动解析cookies。当然你遇到的问题看起来和我一样,但原因不一定是这个,有不少朋友就这个问题和我email讨论,结果发现不少都是其他原因引起的。如果你感兴趣的话,也可以和我联系,讨论这个问题,我email:hdczsf@gmail.com。本来想写篇文章,但是感觉两句话就说完了,就没写,到我博客翻文章的童鞋,对不住了。--2011/3/5
WebResponse responseTemp = (HttpWebResponse)request.GetResponse();
response = (HttpWebResponse)responseTemp;
CookieContainer c = new CookieContainer();
c.Add(response.Cookies);
//创建Cooike并发送Cooike
CookieContainer cookie = new CookieContainer();
//将Cooike附加到请求中
Cookie c = new Cookie();
c.Name = "recommendid";
c.Domain = "www.*.com";
c.Value = "000";
TimeSpan ts = new TimeSpan(1, 0, 0, 0, 0);
c.Expires = new DateTime(2008, 1, 1);
cookie.Add(c);
wreq.CookieContainer = cookie;