取得 WebBrowser的cookie:

string cookieStr = webBrowser.Document.Cookie;

存到 CookieContainer:

        private CookieContainer GetCookieContainer( string cookieStr )
        {
            CookieContainer myCookieContainer = new CookieContainer();
            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 = Properties.Settings.Default.ServerDomain ;  // 必須寫對.
                myCookieContainer.Add( ck );
            }

            return myCookieContainer;
        }

使用 HttpWebRequest:

WebRequest request = WebRequest.Create( address );
// 也可直接用「HttpWebRequest request = HttpWebRequest.Create( address );」
// 但只有 HttpWebRequest 可設定 Cookie

HttpWebRequest hreq = (HttpWebRequest) request ;
hreq.CookieContainer = GetCookieContainer( cookieStr );

// HttpWebRequest 繼承 WebRequest

參考:C# WebBrowser的Cookie操作

 

arrow
arrow

    Robert 發表在 痞客邦 留言(0) 人氣()