问题是这样的:
httpWebRequest获取一个地址如:www.xx.com,同时设置了一个ref CookieContainer供设置和接收Cookie,
正常网页请求时服务器会设置xx.com域下的Cookie,httpWebRequest里的Cookie没法获取xx.com域下的Cookie。
需要如何设置,求高手帮帮忙。

解决方案 »

  1.   

    跟帖,我也想知道,怎么样模拟别人的cookie
      

  2.   

    CookieContainer.GetCookies 
    CookieContainer cookieContainer = new CookieContainer();
    req.CookieContainer = cookieContainer
      

  3.   


    HttpWebRequest request = null;
                    HttpWebResponse response = null;
                    request = (HttpWebRequest)HttpWebRequest.Create(url);
                    request.Headers = header;
                    request.AllowWriteStreamBuffering = false;
                    request.CookieContainer = cc;
                    request.Accept = "*/*";
                    request.Headers.Add("p3p", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
                    request.UserAgent = userAgent;
                    request.KeepAlive = true;
                    request.AllowAutoRedirect = true;
                    request.ContentLength = postData.Length;
                    request.ContentType = "application/x-www-form-urlencoded";                if (!string.IsNullOrEmpty(refUrl))
                    {
                        request.Referer = refUrl;
                    }
                    if (isPost)
                    {
                        request.Method = "POST";
                        byte[] finalPostData = encoding.GetBytes(postData);
                        Stream newStream = request.GetRequestStream();
                        newStream.Write(finalPostData, 0, finalPostData.Length);
                        newStream.Close();
                    }
                    else
                    {
                        request.Method = "GET";
                    }
                    response = (HttpWebResponse)request.GetResponse();
                    foreach (Cookie cookie in response.Cookies)
                    {
                        cc.Add(cookie);
                    }
    //按理说这里应该可以获得其它域下的Cookie,但是我得到的只有当前请求域下的Cookie,顶级域下的没法获得,还有我设置了P3P head也得不到
                    return response.GetResponseStream();
      

  4.   

    说下解决方案:
    使用socket发起http请求,自行解析header分析cookie补充一下:httpwebrequest在很多场合都满足不了需求,socket才是王道。
      

  5.   

    那就是说 你的的确确 是可以获取 到 别人网站的cookie吗?