100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java实现模拟登陆正方教务系统

java实现模拟登陆正方教务系统

时间:2020-03-28 11:52:58

相关推荐

java实现模拟登陆正方教务系统

java实现模拟登陆学校教务管理系统

全部代码总览

此版本无注释,请赏脸移步本人GitHub:/1243418950/Jwgl

import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import .HttpURLConnection;import .MalformedURLException;import .URL;import .URLEncoder;import java.util.HashMap;import java.util.Scanner;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;public class Jwgl2 {public static String jwurl="http://xxxxx";//public static String code="(qingyue22222222222222222)";//不熟悉编码方式,暂且由此码代替//public static String refer="";//referer地址public static Scanner sc = new Scanner(System.in);public static String sessionId ="";public static String name="xxx";public static String pas="xxxxx";public static String __VIEWSTATE="";public static void main(String[] args) throws MalformedURLException, IOException{System.out.println(getLicense(jwurl));System.out.println( login(name, pas).toString());}private static HttpURLConnection getCon(String url) throws MalformedURLException, IOException{return (HttpURLConnection)new URL(url).openConnection();}private static HttpURLConnection setGet(HttpURLConnection huc,HashMap<String,String> kv){kv.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/0101 Firefox/52.0");for(String key:kv.keySet()){huc.setRequestProperty(key, kv.get(key));}if(sessionId!=""){huc.setRequestProperty("Cookie", sessionId);}return huc;}private static HttpURLConnection setPost(HttpURLConnection huc,HashMap<String,String> kv,String osp) throws IOException{huc.setRequestMethod("POST");huc.setDoOutput(true);huc.setDoInput(true);setGet(huc,kv);PrintWriter pt= new PrintWriter(huc.getOutputStream()) ;pt.write(osp);pt.flush();pt.close();return huc;}private static Document getDoc(InputStream in) throws IOException{BufferedReader bf =new BufferedReader(new InputStreamReader(in));String rest="";String line="";while((line=bf.readLine())!=null){rest+=line;}return Jsoup.parse(rest);}private static HashMap<String,String> getLicense(String url) throws MalformedURLException, IOException{HashMap<String,String> kv = new HashMap<String,String>();HashMap<String,String> ses = new HashMap<String,String>();HttpURLConnection huc=getCon(url);huc= setGet(huc,kv);Document doc= getDoc(huc.getInputStream());__VIEWSTATE = doc.select("[name=__VIEWSTATE]").val();String cookies=huc.getHeaderField("Set-Cookie");sessionId = cookies.substring(0, cookies.indexOf(";"));ses.put("SessionId", sessionId);ses.put("__VIEWSTATE", __VIEWSTATE);return ses;}private static String getCheckCode(String url) throws MalformedURLException, IOException{String curl=url+"/CheckCode.aspx";HttpURLConnection huc =getCon(curl);huc=setGet(huc,new HashMap<String,String>());InputStream ins= huc.getInputStream();FileOutputStream fos=new FileOutputStream("CheckCode2.gif");int len=0;byte b[]=new byte[1024];while((len= ins.read(b))!=-1){fos.write(b, 0, len);}fos.flush();fos.close();return sc.nextLine();}private static Document login(String name ,String pas) throws MalformedURLException, IOException{HttpURLConnection huc=getCon(jwurl+"/default2.aspx");HashMap<String,String> kv =new HashMap<String,String>();kv.put("Content-Type", "application/x-www-form-urlencoded");String osp="__VIEWSTATE="+URLEncoder.encode(__VIEWSTATE,"utf-8") +"&txtUserName="+name+"&TextBox2="+pas+"&txtSecretCode="+getCheckCode(jwurl)+"&RadioButtonList1=%D1%A7%C9%FA&Button1=&lbLanguage=&hidPdrs=&hidsc=";kv.put("Content-Length",""+osp.getBytes().length);kv.put("Referer", "http://xxxxx/default2.aspx");huc=setPost(huc, kv, osp);huc.getInputStream();huc=getCon("http://xxxxx/xs_main.aspx?xh="+name);kv= new HashMap<String,String>();kv.put("Referer", "http://xxxxx/default2.aspx");setGet(huc, kv);return getDoc(huc.getInputStream());}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。