明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

将WebBrowser的cookie信息传给HttpWebRequest.

Posted on 2007-07-03 21:52  且行且思  阅读(3487)  评论(1编辑  收藏  举报

先建一个"CookieContainer" 把WebBrowser中的Cookie保存在里面
       
   //在WebBrowser中登录 cookie保存在 WebBrowser.Document.Cookie中
           
            CookieContainer myCookieContainer = new CookieContainer();


            //String 的Cookie 要转成 Cookie型的 并放入CookieContainer中
            string cookieStr = webBrowser1.Document.Cookie;
            string[] cookstr = cookieStr.Split(';');
            foreach (string str in cookstr)
            {
                string[] cookieNameValue = str.Split('=');
                Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());
                ck.Domain = "www.abc.com";//必须写对
                myCookieContainer.Add(ck);
            }

 

 

 


            HttpWebRequest hreq = (HttpWebRequest)HttpWebRequest.Create("http://www.abc.com/search.asp");
            hreq.Method = "POST";
            hreq.ContentType = "application/x-www-form-urlencoded";
          
            //自己创建的CookieContainer
            hreq.CookieContainer = myCookieContainer;
          
            string postdata = "id=2005&action=search&name=";
            byte[] byte1 = Encoding.ASCII.GetBytes(postdata);
            hreq.ContentLength = byte1.Length;
           
            Stream poststream = hreq.GetRequestStream();
            poststream.Write(byte1, 0, byte1.Length);
            poststream.Close();
       
            HttpWebResponse hres = (HttpWebResponse)hreq.GetResponse();