public ActionResult <List <Course> > getCoursTable() { Console.WriteLine("getting CourseTable"); JwCrawler.initAttributes(); // 得到当前的http请求 var req = HttpContext.Request; string tokenToDecode = req.Headers["Authorization"].ToString().Split(' ').Last(); // 获取token // 解码的token转化为json对象 JObject token = (JObject)JsonConvert.DeserializeObject(DecodeJwt.decode(tokenToDecode)); string token_id = token["sub"].ToString(); // 拿到id Console.WriteLine($"id frome token: {token_id}"); // 根据id从数据库里面查询密码 User query = db.users.FirstOrDefault( o => o.id == Convert.ToInt64(token_id) ); // 调用爬虫 JwCrawler.initAttributes(); JwCrawler.login(query.id, getPwdEncrypted(query.portalpwd, JwCrawler.dynamicPwdEncryptSalt).Result); JwCrawler.loginJw(); // 登录教务 List <Course> courses = CourseTableCrawler.crawlCourseTable(); JwCrawler.logout(); return(courses); }
public ActionResult suspendNetwork() { JwCrawler.initAttributes(); // 得到当前的http请求 var req = HttpContext.Request; string tokenToDecode = req.Headers["Authorization"].ToString().Split(' ').Last(); // 获取token // 解码的token转化为json对象 JObject token = (JObject)JsonConvert.DeserializeObject(DecodeJwt.decode(tokenToDecode)); string token_id = token["sub"].ToString(); // 拿到id Console.WriteLine($"id frome token: {token_id}"); // 根据id从数据库里面查询密码 User query = db.users.FirstOrDefault( o => o.id == Convert.ToInt64(token_id) ); // 调用爬虫 JwCrawler.initAttributes(); JwCrawler.login(query.id, getPwdEncrypted(query.portalpwd, JwCrawler.dynamicPwdEncryptSalt).Result); NetworkCrawler.CrawlNetorkStatus(query.id); NetworkCrawler.suspendNetwork(query.id); JwCrawler.logout(); return(Ok()); }
public ActionResult <List <CourseScore> > getCourseScore() { Console.WriteLine("getting CourseScore"); JwCrawler.initAttributes(); // 得到当前的http请求 var req = HttpContext.Request; string tokenToDecode = req.Headers["Authorization"].ToString().Split(' ').Last(); // 获取token // 解码的token转化为json对象 JObject token = (JObject)JsonConvert.DeserializeObject(DecodeJwt.decode(tokenToDecode)); string token_id = token["sub"].ToString(); // 拿到id Console.WriteLine($"id frome token: {token_id}"); // 根据id从数据库里面查询密码 User query = db.users.FirstOrDefault( o => o.id == Convert.ToInt64(token_id) ); // 调用爬虫 JwCrawler.initAttributes(); JwCrawler.login(query.id, getPwdEncrypted(query.portalpwd, JwCrawler.dynamicPwdEncryptSalt).Result); JwCrawler.loginJw(); List <CourseScore> score = CourseScoreCrawler.crawlCourseScore(Convert.ToInt64(token_id)); JwCrawler.logout(); // 成绩顺便保存到数据库中 foreach (CourseScore s in score) { CourseScore sQuery = db.courseScore.Where( o => o.courseid == s.courseid && o.userid == s.userid ).FirstOrDefault(); if (sQuery == null && s.score != -1) { db.courseScore.Add(s); } } db.SaveChanges(); return(score); }
public ActionResult <User> GetUserInfo() { Console.WriteLine("receive post request"); User user; try { // 得到当前的http请求 var req = HttpContext.Request; string tokenToDecode = req.Headers["Authorization"].ToString().Split(' ').Last(); // 获取token // 解码的token转化为json对象 JObject token = (JObject)JsonConvert.DeserializeObject(DecodeJwt.decode(tokenToDecode)); string token_id = token["sub"].ToString(); // 拿到id Console.WriteLine($"id frome token: {token_id}"); // 根据id从数据库里面查询密码 user = db.users.FirstOrDefault( o => o.id == Convert.ToInt64(token_id) ); } catch (Exception e) { return(BadRequest(e.InnerException.Message)); } return(user); }