且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

WebBrowser的Cookie操作

更新时间:2022-03-06 11:13:22


1、WebBrowser设置Cookie
 1WebBrowser的Cookie操作public partial class WebBrowserControl : Form
 2WebBrowser的Cookie操作    {
 3WebBrowser的Cookie操作        private String url;
 4WebBrowser的Cookie操作
 5WebBrowser的Cookie操作        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
 6WebBrowser的Cookie操作        public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
 7WebBrowser的Cookie操作
 8WebBrowser的Cookie操作        public WebBrowserControl(String path)
 9WebBrowser的Cookie操作        {
10WebBrowser的Cookie操作            this.url = path;
11WebBrowser的Cookie操作            InitializeComponent();
12WebBrowser的Cookie操作
13WebBrowser的Cookie操作            // set cookie
14WebBrowser的Cookie操作            InternetSetCookie(url, "JSESSIONID", Globals.ThisDocument.sessionID);
15WebBrowser的Cookie操作
16WebBrowser的Cookie操作            // navigate
17WebBrowser的Cookie操作            webBrowser.Navigate(url);
18WebBrowser的Cookie操作        }

19WebBrowser的Cookie操作        WebBrowser的Cookie操作
20WebBrowser的Cookie操作}


 2、将WebBrowser的cookie信息传给HttpWebRequest.

先建一个"CookieContainer" 把WebBrowser中的Cookie保存在里面

//在WebBrowser中登录 cookie保存在 WebBrowser.Document.Cookie中      
 1WebBrowser的Cookie操作          CookieContainer myCookieContainer = new CookieContainer();
 2WebBrowser的Cookie操作
 3WebBrowser的Cookie操作
 4WebBrowser的Cookie操作            //String 的Cookie 要转成 Cookie型的 并放入CookieContainer中
 5WebBrowser的Cookie操作            string cookieStr = webBrowser1.Document.Cookie;
 6WebBrowser的Cookie操作            string[] cookstr = cookieStr.Split(';');
 7WebBrowser的Cookie操作            foreach (string str in cookstr)
 8WebBrowser的Cookie操作            {
 9WebBrowser的Cookie操作                string[] cookieNameValue = str.Split('=');
10WebBrowser的Cookie操作                Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());
11WebBrowser的Cookie操作                ck.Domain = "www.abc.com";//必须写对
12WebBrowser的Cookie操作                myCookieContainer.Add(ck);
13WebBrowser的Cookie操作            }

14WebBrowser的Cookie操作
15WebBrowser的Cookie操作            HttpWebRequest hreq = (HttpWebRequest)HttpWebRequest.Create("http://www.abc.com/search.asp");
16WebBrowser的Cookie操作            hreq.Method = "POST";
17WebBrowser的Cookie操作            hreq.ContentType = "application/x-www-form-urlencoded";
18WebBrowser的Cookie操作         
19WebBrowser的Cookie操作            //自己创建的CookieContainer
20WebBrowser的Cookie操作            hreq.CookieContainer = myCookieContainer;
21WebBrowser的Cookie操作         
22WebBrowser的Cookie操作            string postdata = "id=2005&action=search&name=";
23WebBrowser的Cookie操作            byte[] byte1 = Encoding.ASCII.GetBytes(postdata);
24WebBrowser的Cookie操作            hreq.ContentLength = byte1.Length;
25WebBrowser的Cookie操作          
26WebBrowser的Cookie操作            Stream poststream = hreq.GetRequestStream();
27WebBrowser的Cookie操作            poststream.Write(byte1, 0, byte1.Length);
28WebBrowser的Cookie操作            poststream.Close();
29WebBrowser的Cookie操作      
30WebBrowser的Cookie操作            HttpWebResponse hres = (HttpWebResponse)hreq.GetResponse();



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/articles/1533002.html,如需转载请自行联系原作者