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()); }

浙公网安备 33010602011771号