private void GetSIMSResponseWithCookies() { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(string.Format("https://sims-prd.sfu.ca/psc/csprd_1/EMPLOYEE/HRMS/c/SA_LEARNER_SERVICES.SS_ES_STUDY_LIST.GBL?Page=SS_ES_STUDY_LIST&Action=U&ACAD_CAREER=UGRD&EMPLID=&INSTITUTION=SFUNV&STRM={0}", SemesterHelper.GetSemesterId())); request.CookieContainer = new CookieContainer(); foreach (Cookie cookie in CookieService.GetCookies().Where(c => c.Domain != "cas.sfu.ca")) { if (cookie.Domain == ".sfu.ca") { request.CookieContainer.Add(new Uri("http://www" + cookie.Domain + cookie.Path), cookie); } else { request.CookieContainer.Add(new Uri("http://" + cookie.Domain + cookie.Path), cookie); } } request.BeginGetResponse(new AsyncCallback(GetClassesResponse), request); }
public BooksVM() { Books = new ObservableCollection <Book>(); List <Course> courses = Settings.LoadCourses(); courses = courses.Where(c => c.Type == "Lecture").ToList(); if (courses == null || courses.Count() == 0) { //error refresh schedule MessageBox.Show("No courses found. Please refresh courses before continuing"); } else { var available = NetworkInterface.GetIsNetworkAvailable(); #if DEBUG available = false; #endif if (!available) { MessageBox.Show("No internet connection is available. Please connect to the internet before continuing."); } else { HttpWebRequest request = null; foreach (Course course in courses) { request = (HttpWebRequest)HttpWebRequest.Create(string.Format("http://sfu.collegestoreonline.com/ePOS?form=shared3/textbooks/json/json_books.html&term={0}&dept={1}&crs={2}&sec={3}&go=Go", SemesterHelper.GetSemesterId(), Regex.Split(course.ClassName, @"(\w+)(\d)")[0].Trim().ToLower(), Regex.Split(course.ClassName, @"(\d+)")[1], course.Section)); request.Method = "GET"; request.BeginGetResponse(new AsyncCallback(GetBookResponse), request); } Deployment.Current.Dispatcher.BeginInvoke(() => { OnPropertyChanged("Books"); }); } } }
private void GetSIMSResponse(IAsyncResult result) { HttpWebRequest request = (HttpWebRequest)result.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result); Cookie casCookie = CookieService.GetCookieWithName("CASTGC"); CookieService.DeleteCookies(); if (casCookie != null) { CookieService.AddCookie(casCookie); } CookieCollection cookies = request.CookieContainer.GetCookies(new Uri("https://go.sfu.ca")); foreach (Cookie cookie in cookies) { CookieService.AddCookie(cookie); } //Settings.GetStudentId(); string request2String = string.Format("https://sims-prd.sfu.ca/psc/csprd_1/EMPLOYEE/HRMS/c/SA_LEARNER_SERVICES.SS_ES_STUDY_LIST.GBL?Page=SS_ES_STUDY_LIST&Action=U&ACAD_CAREER=UGRD&EMPLID=&INSTITUTION=SFUNV&STRM={0}", SemesterHelper.GetSemesterId()); HttpWebRequest request2 = (HttpWebRequest)HttpWebRequest.Create(request2String); request2.Method = "GET"; request2.CookieContainer = new CookieContainer(); foreach (Cookie cookie in cookies) { if (cookie.Domain == ".sfu.ca") { request2.CookieContainer.Add(new Uri("http://www" + cookie.Domain), cookie); } else { request2.CookieContainer.Add(new Uri("https://" + cookie.Domain), cookie); } } request2.BeginGetResponse(new AsyncCallback(GetClassesResponse), request2); }