解决办法
在发送包含用户名和密码的POST请求后,得到了包含”Set-cookie”的HttpWebResponse,随后应当添加如下代码
//Cookies为CookieContainer对象,Response为HttpWebResponse对象
Uri Host = new Uri("http://example.cn");
foreach (Cookie cookie in Response.Cookies)
cookies.SetCookies(Host, ("" + cookie.Name + "=" + cookie.Value));
原因
简单的说,这个问题的原因源于CookieContainer的设计不足,鲁棒性不够强。
这里我们来简单了解一下Cookie方面的知识,rfc6265第5.3节定义了浏览器存放每个Cookie时应该包括这些字段:name、value、expiry-time、domain等等,