Ejemplo n.º 1
0
        public static T jwc_largetable <T>()
        {
            JWCHttpHelper d = new JWCHttpHelper("http://inquiry.ecust.edu.cn/ecustedu/K_StudentQuery/K_BigScoreTableDetail.aspx?key=0");

            d.HttpGet();
            string html   = d.ToString();
            Regex  songti = new Regex("<font[^>]*>");

            html = songti.Replace(html, "");
            Regex zhiti = new Regex("</font>");

            html = zhiti.Replace(html, "");
            Regex regex = new Regex("<td align=\"center\" valign=\"middle\">[^<]*</td><td align=\"center\"" +
                                    " valign=\"middle\">(?<kemu>[^<]*)</td><td align=\"center\" valign=\"middle\">[^<]*" +
                                    "</td><td align=\"center\" valign=\"middle\">[^<]*</td><td align=\"center\" valign=\"middle\">" +
                                    "(?<fengshu>\\d+)</td><td align=\"center\" valign=\"middle\">[^<]*</td><td align=\"center\" " +
                                    "valign=\"middle\">[^<]*</td>"
                                    );
            MatchCollection mc = regex.Matches(html);

            if (typeof(T).Name.Equals("String"))
            {
                string result = "";
                foreach (Match item in mc)
                {
                    GroupCollection gc = item.Groups;
                    result = result + gc["kemu"].Value + ":" + gc["fengshu"].Value + "\n";
                }
                Regex jidian = new Regex("平均学分绩点:(?<jidian>\\d+(\\.\\d+)?)");
                result = result + "平均绩点:" + jidian.Match(html).Groups["jidian"].Value;
                return((T)(object)result);
            }
            else if (typeof(T).Name.Equals("JsonResult"))
            {
                Regex      jidian = new Regex("平均学分绩点:(?<jidian>\\d+(\\.\\d+)?)");
                JsonResult json   = new JsonResult();
                var        data   = new object[mc.Count + 1];
                data[0] = jidian.Match(html).Groups["jidian"].Value;
                for (int i = 1; i <= mc.Count; i++)
                {
                    GroupCollection gc      = mc[i - 1].Groups;
                    var             kemu    = gc["kemu"].Value;
                    var             fengshu = gc["fengshu"].Value;
                    data[i] = new { kemu, fengshu };
                }
                json.Data = data;
                json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
                return((T)(object)json);
            }
            return(default(T));
        }
Ejemplo n.º 2
0
        public static T jwc_examtable <T>()
        {
            JWCHttpHelper d = new JWCHttpHelper("http://inquiry.ecust.edu.cn/ecustedu/K_StudentQuery/K_TestTableDetail.aspx?key=0");

            d.HttpPost("__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=%2FwEPDwULLTE2NTU5MjUyNDUPZBYCAgEPZBYCAgEPZBYIAgEPZBYCZg9kFgQCAQ8QZBAVDQnor7fpgInmi6kFMjAxNzEFMjAxNjIFMjAxNjEFMjAxNTIFMjAxNTEFMjAxNDIFMjAxNDEFMjAxMzIFMjAxMzEFMjAxMjIFMjAxMjEFMjAxMTIVDQnor7fpgInmi6kFMjAxNzEFMjAxNjIFMjAxNjEFMjAxNTIFMjAxNTEFMjAxNDIFMjAxNDEFMjAxMzIFMjAxMzEFMjAxMjIFMjAxMjEFMjAxMTIUKwMNZ2dnZ2dnZ2dnZ2dnZ2RkAggPEGRkFgFmZAICD2QWAmYPZBYCZg8PFgIeBFRleHQFMTIwMTctMjAxOOWtpuW5tOesrDHlrabmnJ%2FnmoTogIPor5XooajkuI3lrZjlnKjvvIFkZAIDD2QWAmYPZBYGZg8PFgIfAGVkZAICDw8WAh8AZWRkAgQPDxYCHwBlZGQCBA9kFgJmD2QWAmYPPCsACwEADxYCHgdWaXNpYmxlaGRkZC74a7y14FQ9u95U4X%2BZFk%2BC6jss&ddlYearTerm=20162&btnSelect=%E6%9F%A5%E8%AF%A2&RdbCourse=%E4%B8%AA%E4%BA%BA%E8%80%83%E8%AF%95%E8%A1%A8&__EVENTVALIDATION=%2FwEWEgLmo53ZCgLekp65DQKA%2BtHTAQKP%2BqX0CAKA%2BqX0CAKP%2BokJAoD6iQkCj%2FqdogsCgPqdogsCj%2FrhxgICgPrhxgICj%2Fr1mwoCgPr1mwoCj%2FrZvAUC2sfb1QYCuaHTqAgCj%2FnpnQ4CwZTn4whWHkuO6LHUmnWxc9LhgAqJGND3xA%3D%3D");
            string html   = d.ToString();
            Regex  songti = new Regex("<font face=\"宋体\" color=\"Black\">");

            html = songti.Replace(html, "");
            Regex zhiti = new Regex("</font>");

            html = zhiti.Replace(html, "");
            //缺个正则
            return((T)(object)html);
        }
Ejemplo n.º 3
0
        public static T jwc_gradepoint <T>()
        {
            JWCHttpHelper e = new JWCHttpHelper("http://inquiry.ecust.edu.cn/ecustedu/K_StudentQuery/K_BigScoreTableDetail.aspx?key=0");

            e.HttpGet();
            string html   = e.ToString();
            Regex  jidian = new Regex("平均学分绩点:(?<jidian>\\d+(\\.\\d+)?)");

            if (typeof(T).Name.Equals("String"))
            {
                string result = jidian.Match(html).Groups["jidian"].Value;
                return((T)(object)result);
            }
            return(default(T));
        }
Ejemplo n.º 4
0
 public static T jwc_classtablehtml <T>()
 {
     if (typeof(T).Name.Equals("String"))
     {
         JWCHttpHelper d = new JWCHttpHelper("http://inquiry.ecust.edu.cn/ecustedu/E_SelectCourse/ScInFormation/syllabus.aspx");
         d.HttpPost("__VIEWSTATE=%2FwEPDwUKLTg3NzgzODIwNw9kFgICAQ9kFgICAw8QDxYGHg1EYXRhVGV4dEZpZWxkBQhZZWFyVGVybR4ORGF0YVZhbHVlRmllbGQFAnNtHgtfIURhdGFCb3VuZGdkEBUCBTIwMTcxBTIwMTYyFQIJ5LiL5a2m5pyfCeacrOWtpuacnxQrAwJnZ2RkZNO%2Fri3X13dLfsVR9NFAAfI1ATzP&selyeartermflag=%E4%B8%8B%E5%AD%A6%E6%9C%9F&bttn_search=%E6%9F%A5%E8%AF%A2&__EVENTVALIDATION=%2FwEWBAKX%2B67KDQKukO%2FqDwLJpuDqDwK1man8CYWGxTfqcteijecSaCWqU1U3a0ll");
         string html   = d.ToString();
         Regex  songti = new Regex("<font face=\"宋体\" color=\"Black\">");
         html = songti.Replace(html, "");
         Regex zhiti = new Regex("</font>");
         html = zhiti.Replace(html, "");
         Regex zhihao = new Regex("<font size=1>");
         html = zhihao.Replace(html, "");
         return((T)(object)html);
     }
     return(default(T));
 }
Ejemplo n.º 5
0
        public static T jwc_smalltable <T>()
        {
            JWCHttpHelper d = new JWCHttpHelper("http://inquiry.ecust.edu.cn/ecustedu/K_StudentQuery/K_ScoreTableYearTerm.aspx?i=0%3a26%3a46");

            d.HttpPost("__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKLTM1MDcwMDg1MQ9kFgICAQ9kFgICAQ9kFgZmD2QWAmYPZBYCAgMPDxYCHgdFbmFibGVkaGRkAgEPZBYCZg9kFgICAQ8QDxYGHg1EYXRhVGV4dEZpZWxkBQhUZXJtTmFtZR4ORGF0YVZhbHVlRmllbGQFCFllYXJUZXJtHgtfIURhdGFCb3VuZGdkEBUFFeKAlOKAlOivt%2BmAieaLqeKAlOKAlBYyMDE2LTIwMTflrablubQy5a2m5pyfFjIwMTYtMjAxN%2BWtpuW5tDHlrabmnJ8WMjAxNS0yMDE25a2m5bm0MuWtpuacnxYyMDE1LTIwMTblrablubQx5a2m5pyfFQUBMAUyMDE2MgUyMDE2MQUyMDE1MgUyMDE1MRQrAwVnZ2dnZ2RkAgMPZBYCZg9kFgJmDzwrAAsAZGSDV9YWPjkZzs%2BQA3Jxh1jr8S5yVA%3D%3D&ddlYearTerm=20162&btnSelect=%E6%9F%A5%E8%AF%A2&__EVENTVALIDATION=%2FwEWCQLCq5zYDAKC5sFXApf3trkEAtjpwosFAo%2F6pfQIAoD6pfQIAo%2F6iQkCgPqJCQLax9vVBk%2F0%2B3xjQYQIiqbgEfy%2FW8XcekCs");
            string html   = d.ToString();
            Regex  songti = new Regex("<font face=\"宋体\" color=\"Black\">");

            html = songti.Replace(html, "");
            Regex zhiti = new Regex("</font>");

            html = zhiti.Replace(html, "");
            Regex           regex = new Regex(@"<td>(?<kemu>[^<]*)</td><td>[^<]*</td><td>[^<]*</td><td>[^<]*</td><td>[^<]*</td><td>[^<]*</td><td>(?<juanmianfen>\d*(\.\d+)?)[^<]*</td><td>(?<pingshifen>\d*(\.\d+)?)[^<]*</td><td>(<font[^>]*>)?(?<fengshu>\d*(\.\d+)?)[^<]*(</font[^>]*>)?</td><td>\d*(\.\d+)?[^<]*</td><td>\d+(\.\d+)?[^<]*</td>");
            MatchCollection mc    = regex.Matches(html);

            if (typeof(T).Name.Equals("String"))
            {
                string result = "";
                foreach (Match item in mc)
                {
                    GroupCollection gc = item.Groups;
                    result = result + gc["kemu"].Value + ":" + gc["fengshu"].Value + "\n";
                }
                result = result + "以上为本学期成绩";
                return((T)(object)result);
            }
            else if (typeof(T).Name.Equals("JsonResult"))
            {
                JsonResult json = new JsonResult();
                var        data = new object[mc.Count];
                for (int i = 0; i < mc.Count; i++)
                {
                    GroupCollection gc      = mc[i].Groups;
                    var             kemu    = gc["kemu"].Value;
                    var             fengshu = gc["fengshu"].Value;
                    data[i] = new { kemu, fengshu };
                }
                json.Data = data;
                json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
                return((T)(object)json);
            }
            return(default(T));
        }
Ejemplo n.º 6
0
        public static void Login(string studentnum, string pwd)
        {
            if (HttpUtility.UrlDecode(pwd).Length > 10)
            {
                ErrorMsg = "您现在设置的教务处密码:" + HttpUtility.UrlDecode(pwd) + ",不正确。请重新输入jwc+您的教务处密码来解锁此功能,如jwc123456";
                return;
            }
            JWCHttpHelper a = new JWCHttpHelper("http://inquiry.ecust.edu.cn/ecustedu/K_StudentQuery/K_StudentQueryLogin.aspx");

            a.HttpGet();
            JWCHttpHelper    b     = new JWCHttpHelper("http://inquiry.ecust.edu.cn/ecustedu/Base/VerifyCode.aspx");
            Bitmap           input = b.HttpGetImage();
            IdentificatImage id    = new IdentificatImage(input);
            string           vc    = id.result;
            JWCHttpHelper    c     = new JWCHttpHelper("http://inquiry.ecust.edu.cn/ecustedu/K_StudentQuery/K_StudentQueryLogin.aspx");

            c.HttpPost("__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTE2OTIxNDU0MTMPZBYCAgEPZBYCAgcPDxYCHgRUZXh0BVDlrabnlJ%2FliJ3lp4vlr4bnoIHkuLrouqvku73or4Hlj7flkI7lha3kvY3jgILlr4bnoIHplb%2FluqbkuI3otoXov4cxMOS4quWtl%2BespuOAgmRkZDanEMgmeoYOigCgOHJXPnTdIOtq&TxtStudentid=" + studentnum + "&TxtPassword="******"&txt_verifyCode=" + vc + "&BtnLogin=%E7%99%BB%E5%BD%95&__EVENTVALIDATION=%2FwEWBQKMjOWyBAKf8ICgBwLVqbaRCwLW2qK1CALi44eGDA67X3bLsDOxfx3HDe98WpJ8%2Bncw");
            string html = c.ToString();

            if (JWCHttpHelper.regexsuccess.IsMatch(html))
            {
                IsLogin = true;
                return;
            }
            else if (JWCHttpHelper.regexpwdfail.IsMatch(html))
            {
                ErrorMsg = "您现在设置的教务处密码:" + HttpUtility.UrlDecode(pwd) + ",不正确。请重新输入jwc+您的教务处密码来解锁此功能,如jwc123456";
                return;
            }
            else if (JWCHttpHelper.regexstudentnumfail.IsMatch(html))
            {
                ErrorMsg = "学生初始密码为身份证号后六位。密码长度不超过10个字符。";
                return;
            }
            else if (JWCHttpHelper.regexvcfail.IsMatch(html))
            {
                Login(studentnum, pwd);
            }
            ErrorMsg = "学号或密码错误";
            return;
        }