コード例 #1
0
        public MyBKStInfo()
        {
            // Log in
            StreamReader sr      = new StreamReader(MyBK.Lib.Data.PathData.config);
            String       logined = sr.ReadLine();

            if (logined == null)
            {
                sr.Close();
                return;
            }
            String user = sr.ReadLine();
            String pass = sr.ReadLine();

            sr.Close();
            CookieContainer cc = POST.Login(user, pass);

            _token = null;
            if (cc != null)
            {
                HttpWebResponse res;
                try {
                    res = GET.getResponse("http://www.aao.hcmut.edu.vn/stinfo/", cc);
                } catch (Exception e) {
                    throw new Exception("Không thể truy cập http://www.aao.hcmut.edu.vn");
                    return;
                }
                // Get cookie
                String strCookie = res.Headers.Get("Set-Cookie");

                String uri = "http://aao.hcmut.edu.vn/stinfo/";

                String[]        listCookie = strCookie.Split(',');
                CookieContainer allCookie  = new CookieContainer();

                String[] temp = listCookie[0].Split(';')[0].Split('=');
                Cookie   ck   = new Cookie(temp[0], temp[1]);
                cc.Add(new Uri(uri), ck);
                temp = listCookie[2].Split(';')[0].Split('=');
                ck   = new Cookie(temp[0], temp[1]);
                cc.Add(new Uri(uri), ck);
                cookieSession = cc;

                // Get _token
                Stream       dataStream         = res.GetResponseStream();
                StreamReader reader             = new StreamReader(dataStream);
                string       responseFromServer = reader.ReadToEnd();
                HtmlDocument doc = new HtmlDocument();
                doc.LoadHtml(responseFromServer);
                HtmlNodeCollection list      = doc.DocumentNode.SelectNodes("/html/head//meta");
                String             str_token = list[3].OuterHtml;
                str_token = str_token.Substring(str_token.IndexOf("content=") + 9, 40);
                _token    = "_token=" + str_token;
                reader.Close();
                dataStream.Close();
                res.Close();
            }
        }
コード例 #2
0
        public static CookieContainer Login(String user, String pass, out String token)
        {
            CookieContainer cc = POST.Login(user, pass);

            token = null;
            if (cc != null)
            {
                HttpWebResponse res = GET.getResponse("http://www.aao.hcmut.edu.vn/stinfo/", cc);

                // Get cookie
                String strCookie = res.Headers.Get("Set-Cookie");

                String uri = "http://aao.hcmut.edu.vn/stinfo/";

                String[]        listCookie = strCookie.Split(',');
                CookieContainer allCookie  = new CookieContainer();

                String[] temp = listCookie[0].Split(';')[0].Split('=');
                Cookie   ck   = new Cookie(temp[0], temp[1]);
                cc.Add(new Uri(uri), ck);
                temp = listCookie[2].Split(';')[0].Split('=');
                ck   = new Cookie(temp[0], temp[1]);
                cc.Add(new Uri(uri), ck);


                // Get _token
                Stream       dataStream         = res.GetResponseStream();
                StreamReader reader             = new StreamReader(dataStream);
                string       responseFromServer = reader.ReadToEnd();
                HtmlDocument doc = new HtmlDocument();
                doc.LoadHtml(responseFromServer);
                HtmlNodeCollection list      = doc.DocumentNode.SelectNodes("/html/head//meta");
                String             str_token = list[3].OuterHtml;
                str_token = str_token.Substring(str_token.IndexOf("content=") + 9, 40);
                token     = "_token=" + str_token;
                reader.Close();
                dataStream.Close();
                res.Close();
            }
            return(cc);
        }
コード例 #3
0
 public String getDanhSachLoaiDangKy()
 {
     return(GET.sentGET("http://mybk.hcmut.edu.vn/dkmh/dangKyMonHocForm.action", cookieSession));
 }
コード例 #4
0
ファイル: POST.cs プロジェクト: vudaoanhtuan/MyBKClient
        public static CookieContainer Login(String user, String pass, String page)
        {
            String          lt, exe;
            HttpWebRequest  request  = (HttpWebRequest)WebRequest.Create("https://sso.hcmut.edu.vn/cas/login");
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            GET.getFormData(response, out lt, out exe);
            Cookie JSESSIONID = GET.getCookieFromResponse(response);
            string service    = "http://aao.hcmut.edu.vn";
            string data       = String.Format("service={4}&username={0}&password={1}&lt={2}&execution={3}&_eventId=submit&submit=Login", user, pass, lt, exe, service);

            CookieContainer cookie = new CookieContainer();

            cookie.Add(new Uri("https://sso.hcmut.edu.vn/cas/login"), JSESSIONID);

            request = (HttpWebRequest)WebRequest.Create("https://sso.hcmut.edu.vn/cas/login");
            request.CookieContainer = cookie;
            request.KeepAlive       = true;
            request.Method          = "POST";

            request.ContentType = "application/x-www-form-urlencoded";
            byte[] byteArray = Encoding.UTF8.GetBytes(data);
            request.ContentLength = byteArray.Length;
            Stream ds = request.GetRequestStream();

            ds.Write(byteArray, 0, byteArray.Length);
            ds.Close();

            response = (HttpWebResponse)request.GetResponse();

            // test login

            StreamReader readLogin = new StreamReader(response.GetResponseStream());
            String       strLogin  = readLogin.ReadToEnd();

            // login failed;
            if (strLogin.IndexOf("success") < 0)
            {
                return(null);
            }

            // login successful

            HttpWebResponse  wr = (HttpWebResponse)response;
            CookieCollection cc = wr.Cookies;

            cookie = new CookieContainer();
            cookie.Add(cc);
            cookie.Add(new Uri(page), JSESSIONID);


            //Console.Write(response.Headers);
            Console.WriteLine("Log in successfully!");


            Stream       dataStream         = response.GetResponseStream();
            StreamReader reader             = new StreamReader(dataStream);
            string       responseFromServer = reader.ReadToEnd();
            StreamWriter sw = new StreamWriter("Log.html", false, Encoding.UTF8);

            sw.Write(responseFromServer);
            sw.Close();
            reader.Close();
            dataStream.Close();
            response.Close();
            return(cookie);
        }
コード例 #5
0
        public String getThongTinCaNhan()
        {
            String str = GET.sentGETX_MLHttpRequest("http://www.aao.hcmut.edu.vn/stinfo/profile", cookieSession);

            return(str); // HTML/XML
        }
コード例 #6
0
        public String getKetQuaTuyenSinh()
        {
            String str = GET.sentGETX_MLHttpRequest("http://www.aao.hcmut.edu.vn/stinfo/ketqua_tuyensinh", cookieSession);

            return(str); // HTML/XML
        }