This article shares information on Java simulation login to the Zhengfang Academic Affairs to capture results, class schedules, empty classrooms, etc. for your reference. The specific content is as follows
1.Jwgl.java
package com.ican.yueban.jwgl; import java.io.IOException; import java.io.InputStream;import java.util.ArrayList;import java.util.List;import java.util.Scanner; import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.select.Elements; import com.ican.yueban.utils.DateUtils;import com.ican.yueban.utils.GlobalConstant;import com.ican.yueban.utils.IOUtils;import com.ican.yueban.utils.ParseUtils; public class Jwgl { private static String stuNumber = ""; private static String stuName = ""; private static String Cookie = ""; private String indexUrl = GlobalConstant.INDEX_URL; private String secretCodeUrl = GlobalConstant.SECRETCODE_URL; private String loginUrl = GlobalConstant.LOGIN_URL; private String mainUrl = GlobalConstant.MAIN_URL; private String queryClassroomUrl = GlobalConstant.QUERY_CLASSROOM_URL; private String queryClassroomGnmkdm = GlobalConstant.QUERY_CLASSROOM_GNMKDM; private String queryStuGradeUrl = GlobalConstant.QUERY_STU_GRADE_URL; private String queryStuGradeGnmkd = GlobalConstant.QUERY_STU_GRADE_GNMKDM; private String queryStuCourseUrl = GlobalConstant.QUERY_STU_COURSE_URL; private String queryStuCourseGnmkd = GlobalConstant.QUERY_STU_COURSE_GNMKDM; private String xixiaoqu = GlobalConstant.XIXIAOQU; private String identityStu = GlobalConstant.IDENTITY_STU; /** * Login function* * @param stuNumber * @param password * @return * @throws Exception * @throws UnsupportedOperationException */ public boolean login(String stuNumber, String password) throws UnsupportedOperationException, Exception { this.stuNumber = stuNumber; // Get the verification code HttpGet secretCodeGet = new HttpGet(secretCodeUrl); CloseableHttpClient client = HttpClients.createDefault(); CloseableHttpResponse responseSecret = client.execute(secretCodeGet); // Get the returned cookie Cookie = responseSecret.getFirstHeader("Set-Cookie").getValue(); String viewState = IOUtils.getViewState(indexUrl, "", ""); // Download the verification code to the C disk IOUtils.getSecret(responseSecret.getEntity().getContent(), "secretCode.png", "c://"); Scanner sc = new Scanner(System.in); System.out.println("Please enter the verification code: "); // Manually fill in the value of the verification code you just obtained String secret = sc.next().trim(); HttpPost loginPost = new HttpPost(loginUrl);// Create a loginPost request loginPost.setHeader("Cookie", Cookie);// Bring the first requested cookie List<NameValuePair> nameValuePairLogin = new ArrayList<NameValuePair>();// Encapsulate Post submit parameters nameValuePairLogin .add(new BasicNameValuePair("__VIEWSTATE", viewState));// Hide form value nameValuePairLogin .add(new BasicNameValuePair("txtUserName", stuNumber));// Student ID nameValuePairLogin.add(new BasicNameValuePair("TextBox2", password));// Password nameValuePairLogin.add(new BasicNameValuePair("txtSecretCode", secret));// Verification code nameValuePairLogin.add(new BasicNameValuePair("RadioButtonList1", identityStu));// Identity, default student nameValuePairLogin.add(new BasicNameValuePair("Button1", "")); nameValuePairLogin.add(new BasicNameValuePair("lbLanguage", "")); nameValuePairLogin.add(new BasicNameValuePair("hidPdrs", "")); nameValuePairLogin.add(new BasicNameValuePair("hidsc", "")); UrlEncodedFormEntity entity = new UrlEncodedFormEntity( nameValuePairLogin, "GB2312"); loginPost.setEntity(entity); HttpResponse responseLogin = client.execute(loginPost); // client1.close(); // Step 3: determine whether the submitted data is successful and return 302 successfully if (responseLogin.getStatusLine().getStatusCode() == 302) { // If the submission is successful, request the redirected main page with a cookie and get the student name HttpGet mainGet = new HttpGet(mainUrl + stuNumber); mainGet.setHeader("Cookie", Cookie); mainGet.setHeader("Referer", loginUrl); HttpResponse responseMain = client.execute(mainGet); InputStream is = responseMain.getEntity().getContent(); String html = ""; try { html = IOUtils.getHtml(is, "GB2312"); } catch (Exception e) { System.out.println("Parse html failed! "); e.printStackTrace(); } stuName = Jsoup.parse(html).getElementById("xhxm").text(); System.out.println("Login successfully! Welcome: " + stuName); client.close(); return true; } else { System.out.println("Login failed!"); client.close(); return false; } } /** * Query the empty classroom* * @throws Exception * * @throws Exception */ public void queryClassroom(String xiaoqu, String xqj, String sjd) throws Exception { CloseableHttpClient client = HttpClients.createDefault(); String newQueryClassrommUrl = queryClassroomUrl + stuNumber + "&xm=" + stuName + queryClassroomGnmkdm;// Url for splicing request String parseSjd = ParseUtils.parseWeek(sjd);// parse the string corresponding to the current section String nowWeek = DateUtils.getWeek() + "";// Get the current week of String viewState = IOUtils.getViewState(newQueryClassrommUrl, Cookie, mainUrl + stuNumber); // Encapsulate query empty classroom request parameters List<NameValuePair> queryClassroomPair = new ArrayList<NameValuePair>(); queryClassroomPair.add(new BasicNameValuePair("__EVENTTARGET", "")); queryClassroomPair.add(new BasicNameValuePair("__EVENTARGUMENT", "")); queryClassroomPair .add(new BasicNameValuePair("__VIEWSTATE", viewState)); queryClassroomPair.add(new BasicNameValuePair("xiaoq", xiaoqu));// Campus type, default to West Campus queryClassroomPair.add(new BasicNameValuePair("jslb", ""));// Classroom category, default to empty queryClassroomPair.add(new BasicNameValuePair("min_zws", "0"));// The minimum number of seats, default to 0 queryClassroomPair.add(new BasicNameValuePair("max_zws", ""));// The maximum number of seats, default to empty queryClassroomPair.add(new BasicNameValuePair("ddlKsz", nowWeek));// The first week, default to current week queryClassroomPair.add(new BasicNameValuePair("ddlJsz", nowWeek));// End the week, default to the current week queryClassroomPair.add(new BasicNameValuePair("xqj", xqj));// On the day of the week, default to the day of queryClassroomPair.add(new BasicNameValuePair("ddlDsz", ""));// For odd and double weeks, default to queryClassroomPair.add(new BasicNameValuePair("sjd", parseSjd));// What section queryClassroomPair.add(new BasicNameValuePair("Button2", "Empty Classroom Query")); queryClassroomPair.add(new BasicNameValuePair("xn", "2015-2016")); queryClassroomPair.add(new BasicNameValuePair("xq", "2")); queryClassroomPair.add(new BasicNameValuePair("ddlSyXn", "2015-2016")); queryClassroomPair.add(new BasicNameValuePair("ddlSyxq", "2")); UrlEncodedFormEntity entityClassroom = new UrlEncodedFormEntity( queryClassroomPair); HttpPost queryClassroomPost = new HttpPost(newQueryClassrommUrl); // newQueryClassrommUrl example: http://jwgl2.ujn.edu.cn/xxjsjy.aspx?xh=20121214104&xm=XXX&gnmkdm=N121611 queryClassroomPost.setEntity(entityClassroom); queryClassroomPost.setHeader("Referer", mainUrl + stuNumber);// Set header information queryClassroomPost.setHeader("Cookie", Cookie); HttpResponse responseClassroom = client.execute(queryClassroomPost); InputStream is = responseClassroom.getEntity().getContent(); String html = IOUtils.getHtml(is, "GB2312"); Document doc = Jsoup.parse(html); Elements eleClassroom = doc.select("td"); Elements eleInfo = doc.select("#lblbt"); System.out.println(eleInfo.get(0).text()); for (int i = 0; i < eleClassroom.size(); i++) { // Only print the classroom name if (i % 8 == 1) { System.out.println(eleClassroom.get(i).text()); } } client.close(); } /** * Overload query empty classroom method, default time, and parameterless query method for course sessions* * @throws IOException * @throws ClientProtocolException */ public void queryClassroom() throws ClientProtocolException, IOException, Exception { String weekDay = DateUtils.getWeekDay() + "";// Get the current time is the day of the week String sdj = DateUtils.getNowCourse() + "";// Get the current time what lesson is new Jwgl().queryClassroom(xixiaoqu, weekDay, sdj); } /** * Query personal score method* * @throws ClientProtocolException * @throws IOException */ public void queryStuGrade(String xn, String xq) throws ClientProtocolException, IOException { CloseableHttpClient client = HttpClients.createDefault(); String newQueryStuGradeUrl = queryStuGradeUrl + stuNumber + "&xm=" + stuName + queryStuGradeGnmkd; HttpPost queryGradePost = new HttpPost(newQueryStuGradeUrl); String viewState = IOUtils.getViewState(newQueryStuGradeUrl, Cookie, mainUrl + stuNumber); // Encapsulate request parameters List<NameValuePair> queryGradePair = new ArrayList<NameValuePair>(); queryGradePair.add(new BasicNameValuePair("__EVENTTARGET", "")); queryGradePair.add(new BasicNameValuePair("__EVENTARGUMENT", "")); queryGradePair.add(new BasicNameValuePair("__VIEWSTATE", viewState)); queryGradePair.add(new BasicNameValuePair("hidLanguage", "")); queryGradePair.add(new BasicNameValuePair("ddlXN", xn));// school year queryGradePair.add(new BasicNameValuePair("ddlXQ", xq));// semester queryGradePair.add(new BasicNameValuePair("ddl_kcxz", "")); queryGradePair.add(new BasicNameValuePair("btn_xq", "Second grade")); queryGradePost.setHeader("Cookie", Cookie); queryGradePost.setHeader("Referer", mainUrl + stuNumber); UrlEncodedFormEntity entityGrade = new UrlEncodedFormEntity( queryGradePair); queryGradePost.setEntity(entityGrade); HttpResponse responseQueryGradePost = client.execute(queryGradePost); String gradeHtml = IOUtils.getHtml(responQueryGradePost.getEntity() .getContent(), "GB2312"); // System.out.println(gradeHtml); Document gradeDoc = Jsoup.parse(gradeHtml); Elements eleGrade = gradeDoc.select("td"); // parse the html<td> tag content as required and output for (int i = 0; i < 7; i++) { System.out.println(eleGrade.get(i).text()); } for (int i = 11; i < eleGrade.size(); i = i + 10) { if (i + 15 < eleGrade.size()) { System.out.print(eleGrade.get(i).text() + " "); i = i + 5; System.out.print(eleGrade.get(i).text()); System.out.println(); } client.close(); } } /** * Query personal class schedule method* * @param xnd * @param xqd * @throws ClientProtocolException * @throws IOException */ public void queryStuCourse(String xnd, String xqd) throws ClientProtocolException, IOException { CloseableHttpClient client = HttpClients.createDefault(); String newQueryStuCourseUrl = queryStuCourseUrl + stuNumber + "&xm=" + stuName + queryStuCourseGnmkd; String viewState = IOUtils.getViewState(newQueryStuCourseUrl, Cookie, mainUrl + stuNumber); HttpPost queryStuCoursePost = new HttpPost(newQueryStuCourseUrl); List<NameValuePair> stuCoursePair = new ArrayList<NameValuePair>(); stuCoursePair.add(new BasicNameValuePair("__EVENTTARGET", "xqd")); stuCoursePair.add(new BasicNameValuePair("__EVENTARGUMENT", "")); stuCoursePair.add(new BasicNameValuePair("__VIEWSTATE", viewState)); stuCoursePair.add(new BasicNameValuePair("xnd", xnd)); stuCoursePair.add(new BasicNameValuePair("xqd", xqd)); UrlEncodedFormEntity entitySource = new UrlEncodedFormEntity( stuCoursePair); queryStuCoursePost.setEntity(entitySource); queryStuCoursePost.setHeader("Cookie", Cookie); queryStuCoursePost.setHeader("Referer", mainUrl + stuNumber); HttpResponse responseStuCourse = client.execute(queryStuCoursePost); String html = IOUtils.getHtml(responseStuCourse.getEntity() .getContent(), "GB2312"); Document docCourse = Jsoup.parse(html); Elements eleCourse = docCourse.select("td"); for (int i = 2; i < eleCourse.size(); i++) { System.out.print(eleCourse.get(i).text() + " "); if (i % 9 == 0) { System.out.println(); } } } public static void main(String[] args) { Jwgl jw = new Jwgl(); try { jw.login("Here is the student number", "Here is the password"); System.out.println("Query Score Test-------"); jw.queryStuGrade("2015-2016", "1"); // Query West Campus, Monday, Section 12 Empty Classroom Test. // jw.queryClassroom("1", "1", "2"); System.out.println("Query empty classroom test------"); jw.queryClassroom(); System.out.println("Query personal class schedule test--------"); jw.queryStuCourse("2014-2015", "1"); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } //QQ:451209214 } } 2.DateUtils.java
package com.ican.yueban.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar;import java.util.Date; public class DateUtils { private static String startDay = GlobalConstant.START_DAY;// start date private static String endDay = GlobalConstant.END_DAY;// holiday date/** * Get the current class that class is the current time, only between 8-16 o'clock, and the default is 1 and 2 classes in other times. * * @return */ public static int getNowCourse() { SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");// Set date format String nowDate = df.format(new Date()); if (nowDate.startsWith("08") || nowDate.startsWith("09")) { return 1;// 12 lessons. } else if (nowDate.startsWith("10") || nowDate.startsWith("11")) { return 2;// 34 lessons, and so on. } else if (nowDate.startsWith("12") || nowDate.startsWith("13") || nowDate.startsWith("14")) { return 3; } else if (nowDate.startsWith("15") || nowDate.startsWith("16")) { return 4; } else { return 1; } } /** * Get what week the current time is * * @return */ public static int getWeek() { int days = 0; int nowWeek = 0; try { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// Set the date format String nowDate = df.format(new Date()); int nowDaysBetween = daysBetween(startDay, nowDate) + 1; days = daysBetween(startDay, endDay); int x = nowDaysBetween % 7; if (x == 0) { nowWeek = nowDaysBetween / 7; } else { nowWeek = nowDaysBetween / 7 + 1; } } catch (ParseException e) { System.out.println("The input date is illegal, the parsing date failed"); e.printStackTrace(); } return nowWeek; } /** * Get the current time is the day of the week* * @return */ public static int getWeekDay() { Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); if (cal.get(Calendar.DAY_OF_WEEK) - 1 == 0) { return 7; } return cal.get(Calendar.DAY_OF_WEEK) - 1; } /** * Calculate the number of days between two String type dates* * @param startDay * @param endDay * @return * @throws ParseException */ public static int daysBetween(String startDay, String endDay) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.setTime(sdf.parse(startDay)); long time1 = cal.getTimeInMillis(); cal.setTime(sdf.parse(endDay)); long time2 = cal.getTimeInMillis(); long between_days = (time2 - time1) / (1000 * 3600 * 24); return Integer.parseInt(String.valueOf(between_days)); } /** * Return String type system time in yyyy-MM-dd HH:mm:ss format * * @return */ public static String getNowDate() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// Set the date format return df.format(new Date()); } } 3.GlobalConstant.java
package com.ican.yueban.utils; /** * All constant definitions of this system* * @author Song Kaizong* */public interface GlobalConstant { public static final String START_DAY = "2016-02-29"; public static final String END_DAY = "2016-07-10"; public static final String INDEX_URL = "http://jwgl2.ujn.edu.cn";// Home page of Jida Academic Affairs System public static final String SECRETCODE_URL = "http://jwgl2.ujn.edu.cn/CheckCode.aspx";// Verification code page public static final String LOGIN_URL = "http://jwgl2.ujn.edu.cn/default2.aspx";// Jida Academic Affairs System Login Page public static final String MAIN_URL = "http://jwgl2.ujn.edu.cn/xs_main.aspx?xh=";// Jida Academic Affairs System Home Page, Menu Page public static final String QUERY_CLASSROOM_URL = "http://jwgl2.ujn.edu.cn/xxjsjy.aspx?xh=";// Jida query empty classroom link public static final String QUERY_CLASSROOM_GNMKDM = "&gnmkdm=N121611";// Jida query empty classroom gnmkdm public static final String QUERY_STU_COURSE_URL = "http://jwgl2.ujn.edu.cn/xskbcx.aspx?xh=";// Jida query personal class schedule link public static final String QUERY_STU_COURSE_GNMKDM = "&gnmkdm=N121603";// Jida Inquiry Personal Course Schedule gnmkdm public static final String QUERY_STU_GRADE_URL = "http://jwgl2.ujn.edu.cn/xscjcx.aspx?xh=";// Jida Inquiry Personal Score Link public static final String QUERY_STU_GRADE_GNMKDM = "&gnmkdm=N121605";// Jida Inquiry Personal Score gnmkdm public static final String IDENTITY_STU = "Student";// Identity: Student public static final String XIXIAOQU = "1";// Jidaxi Campus logo public static final String DONGXIAOQU = "2";// Jidadong Campus logo public static final String ZHANGQIUXIAOQU = "3";// Jida Zhangqiu Campus logo public static final String CLASS1 = "'1'|'1','0','0','0','0','0','0'";// 1, 2 public static final String CLASS2 = "'2'|'0','3','0','0','0','0','0','0','0'";// Section 3, 4 public static final String CLASS3 = "'3'|'0','0','5','0','0','0','0','0'";// Section 5, 6 public static final String CLASS4 = "'4'|'0','0','0','0','7','0','0','0'";// Section 7, 8 public static final String CLASS5 = "'5'|'0','0','0','0','9','0','0','0'";// 8, 10 sections public static final String CLASS6 = "'6'|'0','0','0','0','0','0','11','0','0','0'";// 11, 12 sections public static final String CLASS7 = "'7'|'1','3','0','0','0','0','0','0'";// 11, 12 sections public static final String CLASS7 = "'7'|'1','3','0','0','0','0','0','0'";// 11, 12 sections public static final String CLASS8 = "'8'|'0','0','5','7','0','0','0','0'";// In the afternoon public static final String CLASS9 = "'9'|'1','3','5','7','0','0','0','0'";// In the daytime public static final String CLASS10 = "'10'|'0','0','0','0','0','9','11','0','0','0'";// In the evening public static final String CLASS11 = "'11'|'1','3','5','7','9','11','0','0','0'";// Full-day public static final String BTN_XUEQI = "btn_xq";// Semester scores public static final String BTN_XUENIAN = "btn_xn";// Academic year scores public static final String BTN_LINIAN = "btn_zcj";// Previous years scores public static final String UNIVERSITY_CODE_UJN = "00001";// Jinan University logo code public static final String USER_STATE_N = "1";// Uncertified public static final String USER_STATE_Y = "2";// Certified by public static final String COMMENT_TYPE_NEWTHINGS = "1";// Comment Type 1: New public static final String COMMENT_TYPE_INTEREST = "2";// Comment Type 2: Interest Activity} 4.IOUtils.java
package com.ican.yueban.utils; import java.awt.Rectangle;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URL;import java.net.URLConnection;import java.util.Iterator; import javax.imageio.ImageIO;import javax.imageio.ImageReadParam;import javax.imageio.ImageReader;import javax.imageio.stream.ImageInputStream; import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.jsoup.Jsoup; public class IOUtils { /** * Specify the encoding format and convert the input stream into a string * * @param is * @return * @throws IOException */ public static String getHtml(InputStream is, String encoding) throws IOException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { bos.write(buffer, 0, len); } is.close(); return new String(bos.toByteArray(), encoding); } /** * Download image* * @param urlString * @param filename * @param savePath * @throws Exception */ public static void download(String urlString, String filename, String savePath) throws Exception { // Construct URL URL url = new URL(urlString); // Open connection URLConnection con = url.openConnection(); // Set the request timeout to 5s con.setConnectTimeout(5 * 1000); // Input stream InputStream is = con.getInputStream(); // 1K data buffering byte[] bs = new byte[1024]; // Read data length int len; // Output file stream File sf = new File(savePath); if (!sf.exists()) { sf.mkdirs(); } OutputStream os = new FileOutputStream(sf.getPath() + "//" + filename); // Start reading while ((len = is.read(bs)) != -1) { os.write(bs, 0, len); } // Complete, close all links os.close(); is.close(); } /** * Image cropping tool class* * @param src * @param dest * @param x * @param y * @param w * @param h * @throws IOException */ public static void cutImage(String src, String dest, int x, int y, int w, int h) throws IOException { Iterator iterator = ImageIO.getImageReadersByFormatName("jpg"); ImageReader reader = (ImageReader) iterator.next(); InputStream in = new FileInputStream(src); ImageInputStream iis = ImageIO.createImageInputStream(in); reader.setInput(iis, true); ImageReadParam param = reader.getDefaultReadParam(); Rectangle rect = new Rectangle(x, y, w, h); param.setSourceRegion(rect); BufferedImage bi = reader.read(0, param); ImageIO.write(bi, "jpg", new File(dest)); in.close(); } /** * Judge character encoding set* * @param str * @return */ public static String getEncoding(String str) { String encode = "GB2312"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s = encode; return s; } } catch (Exception exception) { } encode = "ISO-8859-1"; try { if (str.equals(new String(str.getBytes(encode), encode)))) { String s1 = encode; return s1; } } catch (Exception exception1) { } encode = "UTF-8"; try { if (str.equals(new String(str.getBytes(encode), encode)))) { String s2 = encode; return s2; } } catch (Exception exception2) { } encode = "GBK"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s3 = encode; return s3; } } catch (Exception exception3) { } return "Unknown"; } /** * Convert the input stream into a picture---》 Get the verification code* * @param is * @param filename * @param savePath * @throws Exception */ public static void getSecret(InputStream is, String filename, String savePath) throws Exception { // 1K data buffer byte[] bs = new byte[1024]; // The read data length int len; // The output file stream File sf = new File(savePath); if (!sf.exists()) { sf.mkdirs(); } OutputStream os = new FileOutputStream(sf.getPath() + "//" + filename); // Start reading while ((len = is.read(bs)) != -1) { os.write(bs, 0, len); } // Finish, close all links os.close(); is.close(); } /** * Get the __VIEWSTATE value of the hidden field* * @param url * @param cookie * @param referer * @return * @throws UnsupportedOperationException * @throws ClientProtocolException * @throws IOException */ public static String getViewState(String url, String cookie, String referer) throws UnsupportedOperationException, ClientProtocolException, IOException { CloseableHttpClient client = HttpClients.createDefault(); HttpGet getViewState = new HttpGet(url); getViewState.setHeader("Cookie", cookie); getViewState.setHeader("Referer", referer);// Set header information String s = IOUtils.getHtml(client.execute(getViewState).getEntity() .getContent(), "GB2312"); String viewstate = Jsoup.parse(s).select("input[name=__VIEWSTATE]") .val(); client.close(); return viewstate; }} 5. ParseUtils.java
package com.ican.yueban.utils; public class ParseUtils { /** * Get the string corresponding to the course session* @param course * @return */ public static String parseWeek(String course) { String sjd=""; int nowCourse = Integer.parseInt(course); switch (nowCourse) { case 1: sjd=GlobalConstant.CLASS1; break; case 2: sjd=GlobalConstant.CLASS2; break; case 3: sjd=GlobalConstant.CLASS3; break; case 4: sjd=GlobalConstant.CLASS4; break; case 5: sjd=GlobalConstant.CLASS5; break; case 6: sjd=GlobalConstant.CLASS6; break; case 7: sjd=GlobalConstant.CLASS7; break; case 8: sjd=GlobalConstant.CLASS8; break; case 9: sjd=GlobalConstant.CLASS9; break; case 10: sjd=GlobalConstant.CLASS10; break; case 11: sjd=GlobalConstant.CLASS11; break; default: sjd=GlobalConstant.CLASS1; break; } return sjd; }}The above is all about this article, I hope it will be helpful to everyone's learning.