C#保存和使用cookie

因为http是无连接的,所以每当用户访问页面时网站会下发并维护一个cookie,用于确定用户身份。

保存cookie

 private CookieContainer m_cookie;
 public void GetCaptcha()
        {
            request = (HttpWebRequest)WebRequest.Create("http://202.193.80.58/academic/getCaptcha.do");
            request.Method = "GET";
            request.Timeout = 500;
            request.KeepAlive = true;
            request.CookieContainer = new CookieContainer();  //暂存到新实例
            try
            {
                response = (HttpWebResponse)request.GetResponse();
            }
            catch (WebException ex)
            {
                if(ex.Status==WebExceptionStatus.Timeout)
                MessageBox.Show("连接超时! 请检查网络!或检查教务系统是否关闭!");
                else if(ex.Status == WebExceptionStatus.ConnectFailure)
                    MessageBox.Show("无法连接服务器! 请检查网络!或检查教务系统是否关闭!");

                System.Environment.Exit(0);

            }

            m_cookie = request.CookieContainer;               //保存cookie
}

使用cookie

 public void Land()
        {
            string loginURL = "http://202.193.80.58/academic/j_acegi_security_check?groupId=&j_captcha=" + richTextBox1.Text + "&j_password=" + textBox1.Text + "&j_username=" + textBox2.Text;
            MessageBox.Show(loginURL);
            request = (HttpWebRequest)WebRequest.Create(loginURL);
            request.Method = "GET";
            request.KeepAlive = true;
            request.CookieContainer = m_cookie;   //使用cookie
            response =(HttpWebResponse) request.GetResponse();
          
            strr = response.GetResponseStream();
            rstr = new StreamReader(strr);
            MessageBox.Show(rstr.ReadToEnd());
            
        }                          

 

posted @ 2017-06-27 20:47  我要吃冰棍  阅读(65)  评论(0)    收藏  举报