利用HTTPWEBREQUEST和HTTPWEBRESPONSE浏览网站,需要用到COOKIE程序做到这一步的时候出现了莫名其妙的问题,抓包显示服务器响应中明明是有COOKIE的,结果却显示response的COOKIE数量为0.难道是.net的BUG? HTTPWEBREQUEST和HTTPWEBRESPONSE处理COOKIE的确是有些问题,好像是响应中有多个COOKIE只能取到一个,但是此例中响应只有一个COOKIE却无法取到,哪位兄弟知道原因,指条明路吧,难道只有通过response.Headers["Set-Cookie"]来取吗?
request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer=new CookieContainer();
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch
{
return false;
}
MessageBox.Show(response.Cookies.Count.ToString()+" cookies");

解决方案 »

  1.   

    发现COOKIE的格式有点怪,有两个=号,中间有个|符号,是不是这个原因造成的呢?
    Set-Cookie: promo_cookie=v2|=1121872664;
      

  2.   

    look into request.CookieContainer, what is request.CookieContainer.Count?
      

  3.   

    请问思归老大,在CookieContainer存储空间够用的情况下,request.CookieContainer.Count对response.Cookies有影响么?在GOOGLE搜了下,好像有人说request.CookieContainer必须是一个新实例.