天天看點

WebBrowser的Cookie操作

1、WebBrowser設定Cookie

 1

WebBrowser的Cookie操作

public partial class WebBrowserControl : Form

 2

WebBrowser的Cookie操作

    {

 3

WebBrowser的Cookie操作

        private String url;

 4

WebBrowser的Cookie操作

 5

WebBrowser的Cookie操作

        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]

 6

WebBrowser的Cookie操作

        public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);

 7

WebBrowser的Cookie操作

 8

WebBrowser的Cookie操作

        public WebBrowserControl(String path)

 9

WebBrowser的Cookie操作

        {

10

WebBrowser的Cookie操作

            this.url = path;

11

WebBrowser的Cookie操作

            InitializeComponent();

12

WebBrowser的Cookie操作

13

WebBrowser的Cookie操作

            // set cookie

14

WebBrowser的Cookie操作

            InternetSetCookie(url, "JSESSIONID", Globals.ThisDocument.sessionID);

15

WebBrowser的Cookie操作

16

WebBrowser的Cookie操作

            // navigate

17

WebBrowser的Cookie操作

            webBrowser.Navigate(url);

18

WebBrowser的Cookie操作

        }

19

WebBrowser的Cookie操作
WebBrowser的Cookie操作

20

WebBrowser的Cookie操作

}

 2、将WebBrowser的cookie資訊傳給HttpWebRequest.

先建一個"CookieContainer" 把WebBrowser中的Cookie儲存在裡面

//在WebBrowser中登入 cookie儲存在 WebBrowser.Document.Cookie中      

WebBrowser的Cookie操作

          CookieContainer myCookieContainer = new CookieContainer();

WebBrowser的Cookie操作
WebBrowser的Cookie操作
WebBrowser的Cookie操作

            //String 的Cookie 要轉成 Cookie型的 并放入CookieContainer中

WebBrowser的Cookie操作

            string cookieStr = webBrowser1.Document.Cookie;

WebBrowser的Cookie操作

            string[] cookstr = cookieStr.Split(';');

WebBrowser的Cookie操作

            foreach (string str in cookstr)

WebBrowser的Cookie操作

            {

WebBrowser的Cookie操作

                string[] cookieNameValue = str.Split('=');

WebBrowser的Cookie操作

                Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());

WebBrowser的Cookie操作

                ck.Domain = "www.abc.com";//必須寫對

WebBrowser的Cookie操作

                myCookieContainer.Add(ck);

WebBrowser的Cookie操作

            }

WebBrowser的Cookie操作
WebBrowser的Cookie操作

            HttpWebRequest hreq = (HttpWebRequest)HttpWebRequest.Create("http://www.abc.com/search.asp");

WebBrowser的Cookie操作

            hreq.Method = "POST";

WebBrowser的Cookie操作

            hreq.ContentType = "application/x-www-form-urlencoded";

WebBrowser的Cookie操作
WebBrowser的Cookie操作

            //自己建立的CookieContainer

WebBrowser的Cookie操作

            hreq.CookieContainer = myCookieContainer;

21

WebBrowser的Cookie操作

22

WebBrowser的Cookie操作

            string postdata = "id=2005&action=search&name=";

23

WebBrowser的Cookie操作

            byte[] byte1 = Encoding.ASCII.GetBytes(postdata);

24

WebBrowser的Cookie操作

            hreq.ContentLength = byte1.Length;

25

WebBrowser的Cookie操作

26

WebBrowser的Cookie操作

            Stream poststream = hreq.GetRequestStream();

27

WebBrowser的Cookie操作

            poststream.Write(byte1, 0, byte1.Length);

28

WebBrowser的Cookie操作

            poststream.Close();

29

WebBrowser的Cookie操作

30

WebBrowser的Cookie操作

            HttpWebResponse hres = (HttpWebResponse)hreq.GetResponse();

本文轉自94cool部落格園部落格,原文連結:http://www.cnblogs.com/94cool/articles/1533002.html,如需轉載請自行聯系原作者

繼續閱讀