Artikel ini membagikan informasi tentang login simulasi java ke urusan akademik Zhengfang untuk menangkap hasil, jadwal kelas, ruang kelas kosong, dll. Untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1.jwgl.java
paket com.ican.yueban.jwgl; impor java.io.ioException; impor java.io.inputstream; impor java.util.arraylist; impor java.util.list; import java.util.scanner; Impor org.apache.http.httpresponse; import org.apache.http.namevaluepair; impor org.apache.http.client.clientprotocolexception; impor org.apache.http.client.entity.urlencodedfority; org.apache.http.client.methods.closeableHtpresponse; import org.apache.http.client.methods.htpget; impor org.apache.http.client.methods.htppost; impor org.apache.htp.impl.clients.htppost; impor org.apache.htp.impl.clients.htppost; 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; impor com.ican.yueban.utils.dateutils; impor com.ican.yueban.utils.globalconstant; impor com.ican.yueban.utils.ioutils; impor com.ican.yueban.utils.parseutils; kelas publik jwgl {private static string stunumber = ""; private static string stuname = ""; cookie string statis pribadi = ""; Private String IndexUrl = GlobalConsant.index_Url; Private String SecretCodeUrl = GlobalConsant.Secretcode_Url; Private String LoginUrl = GlobalConstant.Login_Url; Private String MainUrl = GlobalConstant.main_url; Private String queryClassroomUrl = GlobalConsant.Query_Classroom_Url; Private String queryClassroomgnMkdm = GlobalConsant.query_classroom_gnmkdm; string private querystugradeurl = globalConstant.query_stu_grade_url; querystugradegnmkd private string = globalConsant.query_stu_grade_gnmkdm; Private String queryStursoursUrl = GlobalConsant.Query_Stu_Course_Url; querystucoursourgnmkd private string = globalConsant.query_stu_course_gnmkdm; Private String xixiaqu = GlobalConstant.xixiaqu; Private String IdentityStu = GlobalConstant.Identity_Stu; / ** * Fungsi Login * * @param Stunumber * @param Kata Sandi * @return * @throws Exception * @throws UnsportedOperationException */ Public Boolean Login (string Stunumber, string password) melempar UnsportedOperPerationException, pengecualian {this.stunumber = stunumber; // Dapatkan kode verifikasi httpget SecretCodeget = httpget baru (SecretCodeUrl); CloseableHttpClient client = httpclients.createdefault (); CloseableHttpresponse responseSecret = client.execute (SecretCodeget); // Dapatkan cookie cookie yang dikembalikan = responseSecret.getFirStheader ("set-cookie"). GetValue (); String viewState = ioutils.getViewState (indexUrl, "", ""); // Unduh kode verifikasi ke disk c ioutils.getsecret (responseSecret.getEntity (). GetContent (), "SecretCode.png", "c: //"); Pemindai SC = Pemindai Baru (System.in); System.out.println ("Silakan masukkan kode verifikasi:"); // Isi secara manual nilai kode verifikasi yang baru saja Anda peroleh 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 (basicnamevaluePair baru ("txtsecretcode", rahasia)); // kode verifikasi namevaluepairlogin.add (basicnamevaluepair baru ("RadioButtonList1", IdentityStu);// Identitas, mahasiswa RadioButtonList1 "); BASICNAMEVALUEPAIR ("Button1", "")); namevaluepairlogin.add (basicnamevaluePair baru ("lblanguage", "")); namevaluepairlogin.add (basicnamevaluePair baru ("hidpdrs", "")); namevaluepairlogin.add (basicnamevaluePair baru ("hidsc", "")); Entitas UrlencodedFormentity = UrlencodedFormentity baru (namevaluepairlogin, "GB2312"); LoginPost.Setentity (entitas); Httpresponse responselogin = client.execute (LoginPost); // client1.close (); // Langkah 3: Tentukan apakah data yang dikirimkan berhasil dan mengembalikan 302 berhasil jika (responselogin.getStatusLine (). GetStatusCode () == 302) {// Jika pengiriman berhasil, minta halaman utama yang dialihkan dengan cookie dan dapatkan nama siswa) httpget mainget = httpget baru (Mainurl + steurl + steurl) httpget mainget = httpget baru (MainUrl + StUNL + STURL + STUMUMBER) HTTPGET MAINGET = HTTPGET NEW HTTPGET (MainUrl + Stunl + STURL + STURL) HTTPGET MAINGET = HTTPGET NEW HTTPGET (MainUrl + STURL + STURL + STUURL ( Mainget.setHeader ("Cookie", Cookie); mainget.setheader ("referer", loginurl); Httpresponse responseMain = client.execute (mainget); InputStream adalah = responseMain.getEntity (). GetContent (); String html = ""; coba {html = ioutils.gethtml (IS, "GB2312"); } catch (Exception e) {System.out.println ("Parse html gagal!"); e.printstacktrace (); } stuname = jsoup.parse (html) .geteLementById ("xhxm"). text (); System.out.println ("Login berhasil! Selamat datang:" + stuname); client.close (); Kembali Benar; } else {System.out.println ("Login Gagal!"); client.close (); mengembalikan false; }} / ** * Permintaan kelas kosong * * @throws Exception * * @throws Exception * / public void queryclassroom (String xiaqu, string xqj, string sjd) melempar pengecualian {closeAdleHttpclient client = httpclients.createdefault (); String newQueryClassRommurl = queryclassroomurl + stunumber + "& xm =" + stuname + queryclassroomgneGnmkdm; // url untuk menyambungkan string parsesjd = parseutils.parseweek (sjd); // parse string yang sesuai dengan string saat ini sekarang. Ioutils.getViewState (newqueryclassrommurl, cookie, mainurl + stunumber); // Encapsulate Query Kosong Kelas Permintaan Parameter Daftar <namevaluePair> queryclassroomPair = Daftar array baru <namevaluePair> (); queryclassroomPair.add (basicnamevaluePair baru ("__ eventtarget", "")); queryclassroomPair.add (basicnamevaluePair baru ("__ eventargument", "")); queryclassroomPair. queryclassroompair.add (basicnamevaluePair baru ("xiaoq", xiaoqu)); // tipe kampus, default ke kampus barat queryclassroomPair.add (kategori dasar nearavaluePair ("jslb", ""); // kategori kelas, default querycroappair. "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 (basicNamevaluePair baru ("ddljsz", nowweek)); // akhiri minggu, default ke minggu saat ini queryclassroomPair.add (basicnamevaluePair baru ("xqj", xqj)); // pada hari minggu, default ke hari ruang kamar. BASICNAMEVALUEPAIR ("DDLDSZ", "")); // Untuk minggu ganjil dan ganda, default ke queryclassroomPair.add (basicnamevaluePair baru ("sjd", parsesjd)); // bagian apa queryclassroompair.add (new BasicNamevaluaPAir ("", "" "," "" ") (" "" "" cuppair ("" ") (" "") ("" ") queryclassroom (" new BasicNamevaluePair ("", "" "") queryclassroomPair.Add (BasicNamevaluePair baru ("XN", "2015-2016")); queryclassroomPair.Add (BasicNamevaluePair baru ("xq", "2")); queryclassroomPair.add (basicnamevaluePair baru ("ddlsyxn", "2015-2016"))); queryclassroomPair.add (basicNamevaluePair baru ("ddlsyxq", "2")); UrlencodedFormentity EntityClassroom = UrlencodedFormentity baru (QueryClassroomPair); Httppost queryclassroompost = httpppost baru (newqueryclassrommurl); // newQueryClassRommurl: http://jwgl2.ujn.edu.cn/xxjsjy.aspx?xh=20121214104&xm=xxx&gnmkdm=n121611 queryclassroompost.setentity (EntityRassroom); queryclassroompost.setheader ("referer", mainurl + stunumber); // atur informasi header queryclassroompost.setheader ("cookie", cookie); Httpresponse responseClassroom = client.execute (queryclassroompost); InputStream adalah = responsclassroom.getEntity (). GetContent (); String html = ioutils.gethtml (IS, "GB2312"); Dokumen doc = jsoup.parse (html); Elemen eleclassroom = doc.select ("td"); Elemen eleinfo = doc.select ("#lblbt"); System.out.println (eleinfo.get (0) .text ()); untuk (int i = 0; i <eleclassroom.size (); i ++) {// Hanya mencetak nama kelas jika (i % 8 == 1) {System.out.println (eleclassroom.get (i) .text ()); }} client.close (); }/ ** * Metode Kelas Kosong Kosong Kelebihan, Waktu Default, dan Metode Kueri Tanpa Parameter untuk Sesi Kursus * * @Throws IoException * @Throws ClientProtocolException */ public void queryclassroom () lemparan waktu klien (ioException, exception {string weekday = date -date -date -meek -meek, ioException "" "" DATE NEPROUGEK (IOException "" sdj = dateutils.getnowcourse () + ""; // Dapatkan waktu saat ini pelajaran apa yang baru JWGL (). QueryClassroom (xixiaqu, hari kerja, sdj); } / ** * Metode skor pribadi kueri * * @Throws ClientProtocolException * @throws IoException * / public void queryStuGrade (String xn, String xq) melempar ClientProtocolException, ioException {closeAdleHtPclient Client = httpclients.createDefault ();;);;); (););); httpclients.createdefault ();););.););); .CeatException (););); httpclients.createxception (););); String newQueryStugradeUrl = querystugradeurl + stunumber + "& xm =" + stuname + querystugradegnmkd; Httppost querygradepost = httpppost baru (newquerystugradeurl); String viewState = ioutils.getViewState (newQueryStugradeUrl, cookie, mainUrl + stunumber); // Encapsulate Daftar Parameter Permintaan <namevaluePair> queryGradePair = new ArrayList <namevaluePair> (); querygradepair.add (basicnamevaluePair baru ("__ eventtarget", "")); querygradepair.add (basicnamevaluePair baru ("__ eventargument", "")); querygradepair.add (basicNamevaluePair baru ("__ viewstate", viewstate)); querygradepair.add (basicnamevaluePair baru ("hidlanguage", "")); querygradepair.add (basicnamevaluePair baru ("ddlxn", xn)); // tahun ajaran querygradepair.add (basicnamevaluepair baru ("ddlxq", xq)); // semester querygradepair.add (new BasicNamevaluePair ("ddlllllaPair"); querygradepair.add (basicNamevaluePair baru ("btn_xq", "kelas dua")); querygradepost.setheader ("cookie", cookie); querygradepost.setheader ("referer", mainurl + stunumber); UrlencodedFormentity EntityGrade = UrlencodedFormentity baru (QueryGradepair); querygradepost.setentity (EntityGrade); Httpresponse responerygradepost = client.execute (querygradepost); String gradehtml = ioutils.getHtml (responduerygradepost.getEntity () .getContent (), "gb2312"); // System.out.println (gradeHTML); Dokumen gradedoc = jsoup.parse (gradeHTML); Elemen elegrade = gradedoc.select ("td"); // Parse konten tag html <td> sesuai kebutuhan dan output untuk (int i = 0; i <7; i ++) {System.out.println (elegrade.get (i) .text ()); } untuk (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 (); }} / ** * Metode jadwal kelas pribadi kueri * * @param xnd * @param xqd * @throws ClientProtocolException * @throws ioException * / public void querySticourse (string xnd, string xqd) lemparan klien clientprotocolException, ioException {closeableHtttpault = clientprotocexception, ioException {closeableHttttpault = clientprotocception, ioException {closeableHttttpault = clientprotoception, ioException {closeableHttttpault = clientprotocception, ioException {closeableHttttpault. String newQueryStucourseUrl = querySticourseUrl + Stunumber + "& xm =" + stuname + querySticoursegnmkd; String viewState = ioutils.getViewState (newQuerySticourseUrl, cookie, MainUrl + Stunumber); Httppost querysticoursepost = baru httppost (newQuerySticoursourseUrl); Daftar <namevaluePair> StucourSepair = Dist ArrayList baru <namevaluePair> (); Stucoursepair.add (BasicNamevaluePair baru ("__ EventTarget", "XQD")); Stucoursepair.add (BasicNamevaluePair baru ("__ Eventargument", "")); Stucoursepair.add (BasicNamevaluePair baru ("__ viewstate", viewstate)); Stucoursepair.add (BasicNamevaluePair baru ("Xnd", Xnd)); Stucoursepair.add (BasicNamevaluePair baru ("XQD", XQD)); EntitySource UrlencodedFormentity = UrlencodedFormentity baru (StucourSepair); querysticoursepost.setentity (EntitySource); querysticoursepost.setheader ("cookie", cookie); querysticoursepost.setheader ("referer", MainUrl + Stunumber); Httpresponse responseucourse = client.execute (querysticoursepost); String html = ioutils.getHtml (responseSturourse.getEntity () .getContent (), "gb2312"); Dokumen docccourse = jsoup.parse (html); Elemen elecourse = doccourse.select ("td"); untuk (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 (); coba {jw.login ("Ini nomor siswa", "Ini kata sandi"); System.out.println ("Uji Skor Kueri -------"); JW.QueryStugrade ("2015-2016", "1"); // Query West Campus, Senin, Bagian 12 Tes Kelas Kosong. // JW.QueryClassroom ("1", "1", "2"); System.out.println ("Uji Kelas Kosong Query ------"); JW.QueryClassroom (); System.out.println ("Uji Jadwal Kelas Pribadi Permintaan --------"); 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
paket com.ican.yueban.utils; impor java.text.parseexception; impor java.text.simpledateFormat; impor java.util.calendar; impor java.util.date; Kelas Publik DateUtils {Private Static String Startday = GlobalConsant.start_day; // Mulai Tanggal Private Static String Endday = GlobalConsant.end_day; // Tanggal Liburan/*** Dapatkan kelas saat ini bahwa kelas saat ini adalah waktu saat ini, hanya antara 8-16 pukul 8-16, dan standarnya adalah 1 dan 2 kelas di waktu lain. * * @return */ public static int getNowCourse () {SimpleDateFormat df = new SimpleDateFormat ("hh: mm: ss"); // atur format tanggal string nowdate = df.format (tanggal baru ()); if (nowdate.startswith ("08") || nowdate.startswith ("09")) {return 1; // 12 pelajaran. } lain jika (nowdate.startswith ("10") || nowdate.startswith ("11")) {return 2; // 34 pelajaran, dan sebagainya. } 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; }} / ** * Dapatkan minggu apa waktu saat ini adalah * * @return * / public static int getWeek () {int days = 0; int nowweek = 0; Coba {SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd"); // atur string format tanggal nowdate = df.format (new date ()); int nowdaysbetween = daysbetween (startday, nowdate) + 1; hari = hari -hari antara (mulai hari, akhir); int x = nowdaysbetween % 7; if (x == 0) {nowWeek = nowdaysbetween / 7; } else {nowweek = nowdaysbetween / 7 + 1; }} catch (parseException e) {System.out.println ("Tanggal input ilegal, tanggal parsing gagal"); e.printstacktrace (); } return nowweek; } / ** * Dapatkan waktu saat ini adalah hari dalam seminggu * * @return * / public static int getWeekday () {calendar cal = calendar.getInstance (); cal.settime (tanggal baru ()); 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 (akhir)); long time2 = cal.getTimeInmillis (); long wear_days = (time2 - time1) / (1000 * 3600 * 24); return integer.parseint (string.ValueOf (antar_days)); }/ ** * Pengembalian Jenis String Waktu Sistem di yyyy-mm-dd hh: mm: format ss * * @return */ string statis publik getNowDate () {SimpleDateFormat df = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss"); // set format dat. }} 3.globalconstant.java
paket com.ican.yueban.utils; /*** Semua definisi konstan dari sistem ini** @Author Song Kaizong**/Antarmuka Publik GlobalConstant {public static final string start_day = "2016-02-29"; string final statis publik end_day = "2016-07-10"; Public Static Final String Index_Url = "http://jwgl2.ujn.edu.cn"; // Halaman Beranda Sistem Akademik JIDA Public Static Final String SecretCode_Url = "http://jwgl2.uJn.edu.cn/checkcode.aspx"//jwgl2ing public public static statin.cn/checkcode.aspx";/jwgl2k "http://jwgl2.ujn.edu.cn/default2.aspx";// Jida Academic Affairs System Page Public Static Final String Main_url =" http://jwgl2.uJn.edu.cn/xs_main.aspx?xh=" = "http://jwgl2.ujn.edu.cn/xxjsjy.aspx?xh=";// query classroom tautan public static final string query_classroom_gnmkdm =" & gnmkdm = n121611 "; // jida gnmed gnmkdm = n121611"; // jida gnmed gnmdm = n121611 "; // jida gnmed gnmdm = n121611"; // jida gnmed gnmdm = n121611 "; // jida query gnm gnmdm = n121611"; // jida gnmed gnmdm = n121611 "; // jida query classroom gnm "http://jwgl2.ujn.edu.cn/xskbcx.aspx?xh=";// jida query jadwal kelas pribadi tautan public static string query_stu_course_gnmkdm =" gnmkdm = n121603 "; // jida query staticy static static static static static static static static static static static static static = nida query staticy gnmkdm = n12160"; = "http://jwgl2.ujn.edu.cn/xscjcx.aspx?xh=";// jida pertanyaan skor pribadi public static string final query_stu_grade_gnmkdm =" & gnmkdm = n121605 "; // jida ucapan = gnmkdm = n121605"; // jida ucapan public = gnmkdm = n121605 "; // jida ucapan (gnmkdm = n121605"; // jida scockdm; IDENTITAS: Siswa public static final string xixiaoqu = "1"; // logo kampus jidaxi public static final string dongxiaqu = "2"; // Jidadong Campus Logo Public Static Final String Zhangqiuxiaoqu = "3"; // Jida Zhangqiu Logo Public String Statis Static 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, '0' 0 '0' 0 '0', '0', '0' 0 '0' "'3' | '0', '0', '5', '0', '0', '0', '0', '0'"; // Bagian 5, 6 Public Static Final String Class4 = "'4' | '0', '0', '0', '0', '7', '0' 0, '0' 0 '0' 0 '; "'5' | '0', '0', '0', '0', '9', '0', '0', '0'"; // 8, 10 Bagian Public Static Final String Class6 = "'6' | '0', '0', '0', '0' 0, '0', 1, '11, '0,' 0, '0,' 0, '0' 0, '0', '1,', ',' 0, '0, "'7' | '1', '3', '0', '0', '0', '0', '0', '0'"; // 11, 12 Bagian Public Static Final String Class7 = "'7' | '1', '3', '0', '0', '0', '0', '0' 0, '0' 0 ',' 0 ',' 0 '0,' 0 '0' "'8' | '0', '0', '5', '7', '0', '0', '0', '0'"; // Pada sore hari public static final string class9 = "9 '|' 1 ',' 3 ',' 5 ',' 7 ',' 0 '0,' 0 ',' 0 '0' 0 '0' 0 ',' 7 ',' 0 '0,' 0 '0,' 0 '0' 0 '0' 0 ' "'10' | '0', '0', '0', '0', '0', '9', '11', '0', '0', '0'"; // Di malam hari public final string class11 = "'11' | '1', '3', '5', '7', '9', '' ',' '', '' ',' '', '7', '', '' ',' '', '' ',' Btn_xueqi = "btn_xq"; // skor semester public static final string btn_xuenian = "btn_xn"; // skor tahun akademik public static final string btn_linian = "btn_zcj"; // skor tahun sebelumnya statis public final string final_code_code_ujn = "001; User_state_n = "1"; // Uncertified public static final string user_state_y = "2"; // disertifikasi oleh public static final string comment_type_newthings = "1"; // Komentar Tipe 1: New Public Static String Comment_Type_Interest = "2";// Komentar Tipe 2: Minat Kegiatan} public static comment_type_interest = "2";// COMMENT TYPE 2: Minat aktivitas}} 4.ioutils.java
paket com.ican.yueban.utils; Impor java.awt.rectangle; impor java.awt.image.bufferedImage; impor java.io.bytearrayoutputstream; impor java.io.file; import java.io.fileinputStream; impor java.fileoutputstream; impor java.io.ioexcepte; java.io.outputStream; import java.net.url; import java.net.urlconnection; import java.util.iterator; impor javax.imageio.imageio; import javax.imageio.imagereadparam; import javax.imageio.imagereader; import javax.imageio.stream.imageInputStream; Impor org.apache.http.client.clientProtocolException; import org.apache.http.client.methods.httpget; import org.apache.http.impl.client.client; closeupclient; impor org.apache.htp.impl.client; 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 = byte baru [1024]; int len = 0; while ((len = is.read (buffer))! = -1) {bos.write (buffer, 0, len); } is.close (); mengembalikan string baru (bos.tobyteArray (), encoding); } / ** * Unduh gambar * * @param urlstring * @param fileName * @param savepath * @throws Exception * / public static void unduh (string urlString, string fileName, string savePath) melempar pengecualian {// buat url url url = URL baru (urlstring); // buka koneksi urlconnection con = url.openconnection (); // atur batas waktu permintaan ke 5s con.setConnectTimeout (5 * 1000); // Input Stream InputStream adalah = con.getInputStream (); // byte buffering data 1K [] bs = byte baru [1024]; // Baca data panjang data; // output file aliran file sf = file baru (savePath); if (! sf.exists ()) {sf.mkdirs (); } OutputStream os = FileOutputStream baru (sf.getPath () + "//" + fileName); // Mulailah membaca while ((len = is.read (bs))! = -1) {os.write (bs, 0, len); } // Lengkapi, tutup semua tautan os.close (); is.close (); } / ** * Kelas alat pemangkasan gambar * * @param src * @param dest * @param x * @param y * @param w * @param h * @throws ioException * / cutimage statis public static (string src, string dest, int x, int w, int h) lemparan ioException {iterator Imageo.getImagereadersByFormatname ("jpg"); Imagereader reader = (imagereader) iterator.next (); InputStream in = new fileInputStream (src); ImageInputStream IIS = ImageIO.CreateMageInputStream (IN); reader.setInput (IIS, true); Imagereadparam param = reader.getDefaultreadparam (); Persegi panjang rect = persegi panjang baru (x, y, w, h); param.setsourceregion (rect); BufferedImage Bi = reader.read (0, param); Imageo.write (BI, "JPG", File Baru (DEST)); melampirkan(); } / ** * Hakim kumpulan pengkodean karakter * * @param str * @return * / public static string getEncoding (string str) {string encode = "gb2312"; coba {if (str.equals (string baru (str.getbytes (encode), encode))) {string s = encode; kembali S; }} catch (pengecualian pengecualian) {} encode = "iso-8859-1"; coba {if (str.equals (string baru (str.getbytes (encode), encode)))) {string s1 = encode; mengembalikan S1; }} catch (Exception Exception1) {} encode = "UTF-8"; coba {if (str.equals (string baru (str.getbytes (encode), encode)))) {string s2 = encode; mengembalikan S2; }} catch (Exception Exception2) {} encode = "gbk"; coba {if (str.equals (string baru (str.getbytes (encode), encode))) {string s3 = encode; mengembalikan S3; }} catch (Exception Exception3) {} return "Unknown"; } / ** * Konversi aliran input menjadi gambar ---》 Dapatkan kode verifikasi * * @param adalah * @param fileName * @param savepath * @throws Exception * / public static void getsecret (inputStream adalah byte string, string savePath) melempar pengecualian {// 1k data Buffer byte [] BYTE [] BYTE [] BIEDETE = 102 LITRETION; BIGKETE (BIDETE PERUSAHAAN = BYPERTE [SURFEPATH = 102 BYPERTE (// 1K BYPERTE [] BYTETE (STRING = 102 BYPERTE (STRING BYPEPATH (STRING) // Int Len Panjang Data Baca; // file aliran file output sf = file baru (savePath); if (! sf.exists ()) {sf.mkdirs (); } OutputStream os = FileOutputStream baru (sf.getPath () + "//" + fileName); // Mulailah membaca while ((len = is.read (bs))! = -1) {os.write (bs, 0, len); } // Selesai, tutup semua tautan 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 {closeAdleHttpClient client = httpclients.createDefault (); Httpget getViewState = httpget baru (url); getviewstate.setheader ("cookie", cookie); getViewState.setHeader ("referer", referer); // Setel informasi header 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
paket com.ican.yueban.utils; ParseUtils kelas publik { / ** * Dapatkan string yang sesuai dengan sesi kursus * @param course * @return * / public static string parseweek (string course) {string sjd = ""; int nowcourse = integer.parseint (kursus); switch (nowCourse) {case 1: sjd = globalConsant.class1; merusak; Kasus 2: SJD = GlobalConstant.class2; merusak; Kasus 3: SJD = GlobalConstant.class3; merusak; Kasus 4: SJD = GlobalConstant.class4; merusak; Kasus 5: SJD = GlobalConstant.class5; merusak; Kasus 6: SJD = GlobalConstant.class6; merusak; Kasus 7: SJD = GlobalConstant.class7; merusak; Kasus 8: SJD = GlobalConstant.class8; merusak; Kasus 9: SJD = GlobalConstant.class9; merusak; Kasus 10: SJD = GlobalConstant.class10; merusak; Kasus 11: SJD = GlobalConstant.class11; merusak; default: sjd = globalconstant.class1; merusak; } return sjd; }}Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.