将WebBrowser的cookie信息传给HttpWebRequest

先建一个"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.hao123.com";//必须写对
                 myCookieContainer.Add(ck);
             }

 

 

 


             HttpWebRequest hreq = (HttpWebRequest)HttpWebRequest.Create("http://www.hao123.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();

你可能感兴趣的:(WebBrowser)