网上收集的WebBrowser的Cookie操作

时间:2023-03-08 16:15:41
网上收集的WebBrowser的Cookie操作

原文:网上收集的WebBrowser的Cookie操作

1、WebBrowser设置Cookie



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 1网上收集的WebBrowser的Cookie操作public partial class WebBrowserControl : Form

 2网上收集的WebBrowser的Cookie操作网上收集的WebBrowser的Cookie操作    网上收集的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操作网上收集的WebBrowser的Cookie操作        网上收集的WebBrowser的Cookie操作{

网上收集的WebBrowser的Cookie操作            this.url = path;

网上收集的WebBrowser的Cookie操作            InitializeComponent();

网上收集的WebBrowser的Cookie操作

网上收集的WebBrowser的Cookie操作            // set cookie

网上收集的WebBrowser的Cookie操作            InternetSetCookie(url, "JSESSIONID", Globals.ThisDocument.sessionID);

网上收集的WebBrowser的Cookie操作

网上收集的WebBrowser的Cookie操作            // navigate

网上收集的WebBrowser的Cookie操作            webBrowser.Navigate(url);

网上收集的WebBrowser的Cookie操作        }

网上收集的WebBrowser的Cookie操作        网上收集的WebBrowser的Cookie操作

网上收集的WebBrowser的Cookie操作}

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



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



//在WebBrowser中登录 cookie保存在 WebBrowser.Document.Cookie中



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 1网上收集的WebBrowser的Cookie操作          CookieContainer myCookieContainer = new CookieContainer();

 2网上收集的WebBrowser的Cookie操作

 3网上收集的WebBrowser的Cookie操作

 4网上收集的WebBrowser的Cookie操作            //String 的Cookie 要转成 Cookie型的 并放入CookieContainer中

 5网上收集的WebBrowser的Cookie操作            string cookieStr = webBrowser1.Document.Cookie;

 6网上收集的WebBrowser的Cookie操作            string[] cookstr = cookieStr.Split(';');

 7网上收集的WebBrowser的Cookie操作            foreach (string str in cookstr)

 8网上收集的WebBrowser的Cookie操作网上收集的WebBrowser的Cookie操作            网上收集的WebBrowser的Cookie操作{

 9网上收集的WebBrowser的Cookie操作                string[] cookieNameValue = str.Split('=');

].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;

网上收集的WebBrowser的Cookie操作         

网上收集的WebBrowser的Cookie操作            string postdata = "id=2005&action=search&name=";

网上收集的WebBrowser的Cookie操作            byte[] byte1 = Encoding.ASCII.GetBytes(postdata);

网上收集的WebBrowser的Cookie操作            hreq.ContentLength = byte1.Length;

网上收集的WebBrowser的Cookie操作          

网上收集的WebBrowser的Cookie操作            Stream poststream = hreq.GetRequestStream();

, byte1.Length);

网上收集的WebBrowser的Cookie操作            poststream.Close();

网上收集的WebBrowser的Cookie操作      

网上收集的WebBrowser的Cookie操作            HttpWebResponse hres = (HttpWebResponse)hreq.GetResponse();