目录

温馨提示

功能

代码部分

部分代码解释

感谢



温馨提示

代码纯肝,谢谢使用

如有侵权,联系删除


功能

  1. 已开发功能:登录,查成绩
  2. 未开发功能:抢课......(有需要可以自己做奥)

代码部分

###############################
###########只修改下面###########
###############################
#username是学号
username = "202111102345"
password = "123456"
#password是密码
###############################
###########只修改上面###########
###############################
#####运行前请确保有安装足够库####
#  pip install requests       #
#  pip install beautifulsoup4 #
#  pip install PyExecJS       #
##############################
def login_1():url = "https://cas.kmust.edu.cn/lyuapServer/login?service=http://i.kust.edu.cn/c/portal/login?redirect=/&p_l_id=249011"headers = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cache-Control": "max-age=0","Connection": "keep-alive","Host": "cas.kmust.edu.cn","Sec-Fetch-Dest": "document","Sec-Fetch-Mode": "navigate","Sec-Fetch-Site": "cross-site","Sec-Fetch-User": "?1","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67","sec-ch-ua": "\"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"114\", \"Microsoft Edge\";v=\"114\"","sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "\"Windows\""}response = session.get(url, headers=headers,allow_redirects=False)html_content = response.texthtml_header = response.headershtml_code = response.status_codesoup = BeautifulSoup(html_content, 'html.parser')elements_lt = soup.select("html > body > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(3) > div:nth-of-type(2) > div:nth-of-type(3) > form > div:nth-of-type(4) > input:nth-of-type(1)")elements_execution = soup.select("html > body > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(3) > div:nth-of-type(2) > div:nth-of-type(3) > form > div:nth-of-type(4) > input:nth-of-type(2)")elements_eventid = soup.select("html > body > div:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(3) > div:nth-of-type(2) > div:nth-of-type(3) > form > div:nth-of-type(4) > input:nth-of-type(3)")value_lt = elements_lt[0]['value']value_execution = elements_execution[0]['value']value_eventid = elements_eventid[0]['value']header_cookie = html_header['Set-Cookie'].split(";")[0]return value_lt,value_execution,value_eventid,header_cookie,html_codedef login_2(cookie,lt,exe,eve,usern,passw):ck = cookie.split('=')[1]url = f"https://cas.kmust.edu.cn/lyuapServer/login;jsessionid={ck}?service=http://i.kust.edu.cn/c/portal/login?redirect=%2F&p_l_id=249011"data = {"username" : usern,"password" : passw,"captcha" : "","warn" : "true","lt" : lt,"execution" : exe,"_eventId" : eve}headers = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cache-Control": "no-cache","Connection": "keep-alive","Content-Length": "399","Content-Type": "application/x-www-form-urlencoded","Cookie": cookie,"Host": "cas.kmust.edu.cn","Origin": "https://cas.kmust.edu.cn","Pragma": "no-cache","Referer": "https://cas.kmust.edu.cn/lyuapServer/login?service=http%3A%2F%2Fi.kust.edu.cn%2Fc%2Fportal%2Flogin%3Fredirect%3D%252F%26p_l_id%3D249011","Sec-Fetch-Dest": "document","Sec-Fetch-Mode": "navigate","Sec-Fetch-Site": "same-origin","Sec-Fetch-User": "?1","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67","sec-ch-ua": "\"Not.A/Brand\";v=\"8\", \"Chromium\";v=\"114\", \"Microsoft Edge\";v=\"114\"","sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "\"Windows\""}response = session.post(url=url, headers=headers,data=data,allow_redirects=False)html_cookie = response.headers["Set-Cookie"]#.split(";")[4].split(",")[1].split(" ")[1]html_code = response.status_codereturn html_cookie,html_codedef login_3(cookie,cookie2):ck = cookie.split('=')[1]ck2=cookie2.split(";")ck3=ck2[0]+";"+ck2[2].split(",")[1]+";"+ck2[4].split(",")[1]url = f"https://cas.kmust.edu.cn/lyuapServer/login;jsessionid={ck}?service=http://i.kust.edu.cn/c/portal/login?redirect=%2F&p_l_id=249011"headers = {"Host": "cas.kmust.edu.cn","Connection": "keep-alive","Cache-Control": "max-age=0","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Sec-Fetch-Site": "same-origin","Sec-Fetch-Mode": "navigate","Sec-Fetch-User": "?1","Sec-Fetch-Dest": "document","sec-ch-ua": '"Not_A Brand";v="99", "Microsoft Edge";v="109", "Chromium";v="109"',"sec-ch-ua-mobile": "?0","sec-ch-ua-platform": '"Windows"',"Referer": "https://cas.kmust.edu.cn/lyuapServer/login?service=http%3A%2F%2Fi.kust.edu.cn%2Fc%2Fportal%2Flogin%3Fredirect%3D%252F%26p_l_id%3D249011","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cookie": ck3}response = session.get(url, headers=headers,allow_redirects=False)html_code = response.status_codehtml_cookie = response.headersreturn html_cookie,html_codedef login_6():url = "http://jwctsp.kmust.edu.cn/integration/kcas-sso/login"headers = {"Host": "jwctsp.kmust.edu.cn","Connection": "keep-alive","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer": "http://i.kust.edu.cn/","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"}rsp = session.get(url,headers=headers,allow_redirects=False)html_cookies=rsp.headershtml_code=rsp.status_codereturn html_cookies,html_codedef login_7(cookie2):ck2=cookie2.split(";")ck3=ck2[0]+";"+ck2[2].split(",")[1]+";"+ck2[4].split(",")[1]url = "https://cas.kmust.edu.cn/lyuapServer/"params = {"service": "http%3A%2F%2Fjwctsp.kmust.edu.cn%2Fintegration%2Fkcas-sso%2Flogin"}headers = {"Host": "cas.kmust.edu.cn","Connection": "keep-alive","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Sec-Fetch-Site": "cross-site","Sec-Fetch-Mode": "navigate","Sec-Fetch-User": "?1","Sec-Fetch-Dest": "document","sec-ch-ua": '"Not_A Brand";v="99", "Microsoft Edge";v="109", "Chromium";v="109"',"sec-ch-ua-mobile": "?0","sec-ch-ua-platform": '"Windows"',"Referer": "http://i.kust.edu.cn/","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cookie": ck3}resp = session.get(url, params=params, headers=headers, allow_redirects=False)ck = resp.headerscode = resp.status_codereturn ck,codedef login_8(cookie2):ck2=cookie2.split(";")ck3=ck2[0]+";"+ck2[2].split(",")[1]+";"+ck2[4].split(",")[1]url = "https://cas.kmust.edu.cn/lyuapServer/login?service=http%3A%2F%2Fjwctsp.kmust.edu.cn%2Fintegration%2Fkcas-sso%2Flogin"headers = {"Host": "cas.kmust.edu.cn","Connection": "keep-alive","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Sec-Fetch-Site": "cross-site","Sec-Fetch-Mode": "navigate","Sec-Fetch-User": "?1","Sec-Fetch-Dest": "document","sec-ch-ua": '"Not_A Brand";v="99", "Microsoft Edge";v="109", "Chromium";v="109"',"sec-ch-ua-mobile": "?0","sec-ch-ua-platform": '"Windows"',"Referer": "http://i.kust.edu.cn/","Accept-Encoding": "gzip, deflate, br","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cookie": ck3}resp = session.get(url, headers=headers, allow_redirects=False)ck = resp.headerscode = resp.status_codereturn ck,codedef login_9(url,ck):headers = {"Host": "jwctsp.kmust.edu.cn","Connection": "keep-alive","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer": "http://i.kust.edu.cn/","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cookie":ck}rep = session.get(url=url, headers=headers,allow_redirects=False)ck = rep.headerscode = rep.status_codereturn ck,codedef login_l(ck):urll = "http://jwctsp.kmust.edu.cn/integration/kcas-sso/login"urlll = "http://jwctsp.kmust.edu.cn/integration/"urllll = "http://jwctsp.kmust.edu.cn/integration/login"headers = {"Host": "jwctsp.kmust.edu.cn","Connection": "keep-alive","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer": "http://i.kust.edu.cn/","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cookie": ck}response = session.get(urll, headers=headers, allow_redirects=False)responsee = session.get(urlll, headers=headers, allow_redirects=False)responseee = session.get(urllll, headers=headers, allow_redirects=False)return response.status_code,responsee.status_code,responseee.status_codedef home(ck):url = "http://jwctsp.kmust.edu.cn/integration/home"headers = {"Host": "jwctsp.kmust.edu.cn","Connection": "keep-alive","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer": "http://i.kust.edu.cn/","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cookie": ck}response = session.get(url, headers=headers, allow_redirects=False)code = response.status_codereturn codedef cxcj(cookies):url0 = 'http://jwctsp.kmust.edu.cn/integration/for-std/best/grade/sheet'headers0 = {'Host': 'jwctsp.kmust.edu.cn','Connection': 'keep-alive','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','Referer': 'http://jwctsp.kmust.edu.cn/integration/home','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6','Cookie': cookies}rep = session.get(url0, headers=headers0, allow_redirects=False)url1 = rep.headers['Location']headers1 = {"Host": "jwctsp.kmust.edu.cn","Connection": "keep-alive","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.70","Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Referer": "http://jwctsp.kmust.edu.cn/integration/home","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6","Cookie": cookies}rep1 = session.get(url1, headers=headers1, allow_redirects=False)html_data = rep1.textsoup = BeautifulSoup(html_data, 'html.parser')option_elements = soup.select('html > body > div > form > div > div > select > option')i=0ppcj=""for option in option_elements:i=i+1op_value=option['value']url = "http://jwctsp.kmust.edu.cn/integration/for-std/best/grade/sheet/info/" + rep.headers['Location'].split("/")[-1] + "?semrster=" + op_valueheadersd = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9','Cookie': cookies,'Host': 'jwctsp.kmust.edu.cn','Proxy-Connection': 'keep-alive','Referer': 'http://jwctsp.kmust.edu.cn/integration/for-std/best/grade/sheet/semester-index/208803','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36','X-Requested-With': 'XMLHttpRequest'}response = session.get(url, headers=headersd, allow_redirects=False)try:cj = re.findall(r'<tbody[^>]*>(.*?)</tbody>', response.text, re.S)k=0lo=len(cj)for ij in cj:k=k+1cj2 = re.findall(r'<tr[^>]*>(.*?)</tr>', ij, re.S)j=0for div in cj2:i = 0cj3 = re.findall(r'<td[^>]*>(.*?)</td>', div, re.S)for div2 in cj3:if i == 0:ppcj = ppcj + div2.strip().split('\n')[0] + str("  [")if i == 5:ppcj = ppcj + div2.strip() +str("]") + str("\n")i = i+1j=j+1ppcj = ppcj + str("\n")except:print("限流\n")breakreturn ppcjdef enpwd(p):js = """;function twoDigit(a){return(a<10?"0":"")+String(a)}function encryptedString(a,b){var c=new Array();var d=b.length;var e=0;while(e<d){c[e]=b.charCodeAt(e);e++}while(c.length%a.chunkSize!=0){c[e++]=0}var f=c.length;var g="";var h,k,l;for(e=0;e<f;e+=a.chunkSize){l=new BigInt();h=0;for(k=e;k<e+a.chunkSize;++h){l.digits[h]=c[k++];l.digits[h]+=c[k++]<<8}var n=a.barrett.powMod(l,a.e);var m=a.radix==16?biToHex(n):biToString(n,a.radix);g+=m+" "}return g.substring(0,g.length-1)}function decryptedString(a,b){var c=b.split(" ");var d="";var e,f,g;for(e=0;e<c.length;++e){var h;if(a.radix==16){h=biFromHex(c[e])}else{h=biFromString(c[e],a.radix)}g=a.barrett.powMod(h,a.d);for(f=0;f<=biHighIndex(g);++f){d+=String.fromCharCode(g.digits[f]&255,g.digits[f]>>8)}}if(d.charCodeAt(d.length-1)==0){d=d.substring(0,d.length-1)}return d}function BarrettMu(a){this.modulus=biCopy(a);this.k=biHighIndex(this.modulus)+1;var b=new BigInt();b.digits[2*this.k]=1;this.mu=biDivide(b,this.modulus);this.bkplus1=new BigInt();this.bkplus1.digits[this.k+1]=1;this.modulo=BarrettMu_modulo;this.multiplyMod=BarrettMu_multiplyMod;this.powMod=BarrettMu_powMod}function BarrettMu_modulo(a){var b=biDivideByRadixPower(a,this.k-1);var c=biMultiply(b,this.mu);var d=biDivideByRadixPower(c,this.k+1);var e=biModuloByRadixPower(a,this.k+1);var f=biMultiply(d,this.modulus);var g=biModuloByRadixPower(f,this.k+1);var h=biSubtract(e,g);if(h.isNeg){h=biAdd(h,this.bkplus1)}var k=biCompare(h,this.modulus)>=0;while(k){h=biSubtract(h,this.modulus);k=biCompare(h,this.modulus)>=0}return h}function BarrettMu_multiplyMod(a,b){var c=biMultiply(a,b);return this.modulo(c)}function BarrettMu_powMod(a,b){var c=new BigInt();c.digits[0]=1;var d=a;var e=b;while(true){if((e.digits[0]&1)!=0)c=this.multiplyMod(c,d);e=biShiftRight(e,1);if(e.digits[0]==0&&biHighIndex(e)==0)break;d=this.multiplyMod(d,d)}return c}var biRadixBase=2;var biRadixBits=16;var bitsPerDigit=biRadixBits;var biRadix=1<<16;var biHalfRadix=biRadix>>>1;var biRadixSquared=biRadix*biRadix;var maxDigitVal=biRadix-1;var maxInteger=9999999999999998;var maxDigits;var ZERO_ARRAY;var bigZero,bigOne;function setMaxDigits(a){maxDigits=a;ZERO_ARRAY=new Array(maxDigits);for(var b=0;b<ZERO_ARRAY.length;b++)ZERO_ARRAY[b]=0;bigZero=new BigInt();bigOne=new BigInt();bigOne.digits[0]=1}setMaxDigits(20);var dpl10=15;var lr10=biFromNumber(1000000000000000);function BigInt(a){if(typeof a=="boolean"&&a==true){this.digits=null}else{this.digits=ZERO_ARRAY.slice(0)}this.isNeg=false}function biFromDecimal(a){var b=a.charAt(0)=='-';var c=b?1:0;var d;while(c<a.length&&a.charAt(c)=='0')++c;if(c==a.length){d=new BigInt()}else{var e=a.length-c;var f=e%dpl10;if(f==0)f=dpl10;d=biFromNumber(Number(a.substr(c,f)));c+=f;while(c<a.length){d=biAdd(biMultiply(d,lr10),biFromNumber(Number(a.substr(c,dpl10))));c+=dpl10}d.isNeg=b}return d}function biCopy(a){var b=new BigInt(true);b.digits=a.digits.slice(0);b.isNeg=a.isNeg;return b}function biFromNumber(a){var b=new BigInt();b.isNeg=a<0;a=Math.abs(a);var c=0;while(a>0){b.digits[c++]=a&maxDigitVal;a=Math.floor(a/biRadix)}return b}function reverseStr(a){var b="";for(var c=a.length-1;c>-1;--c){b+=a.charAt(c)}return b}var hexatrigesimalToChar=new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');function biToString(a,b){var c=new BigInt();c.digits[0]=b;var d=biDivideModulo(a,c);var e=hexatrigesimalToChar[d[1].digits[0]];while(biCompare(d[0],bigZero)==1){d=biDivideModulo(d[0],c);digit=d[1].digits[0];e+=hexatrigesimalToChar[d[1].digits[0]]}return(a.isNeg?"-":"")+reverseStr(e)}function biToDecimal(a){var b=new BigInt();b.digits[0]=10;var c=biDivideModulo(a,b);var d=String(c[1].digits[0]);while(biCompare(c[0],bigZero)==1){c=biDivideModulo(c[0],b);d+=String(c[1].digits[0])}return(a.isNeg?"-":"")+reverseStr(d)}var hexToChar=new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');function digitToHex(a){var b=0xf;var c="";for(i=0;i<4;++i){c+=hexToChar[a&b];a>>>=4}return reverseStr(c)}function biToHex(a){var b="";var c=biHighIndex(a);for(var d=biHighIndex(a);d>-1;--d){b+=digitToHex(a.digits[d])}return b}function charToHex(a){var b=48;var c=b+9;var d=97;var e=d+25;var f=65;var g=65+25;var h;if(a>=b&&a<=c){h=a-b}else if(a>=f&&a<=g){h=10+a-f}else if(a>=d&&a<=e){h=10+a-d}else{h=0}return h}function hexToDigit(a){var b=0;var c=Math.min(a.length,4);for(var d=0;d<c;++d){b<<=4;b|=charToHex(a.charCodeAt(d))}return b}function biFromHex(a){var b=new BigInt();var c=a.length;for(var d=c,e=0;d>0;d-=4,++e){b.digits[e]=hexToDigit(a.substr(Math.max(d-4,0),Math.min(d,4)))}return b}function biFromString(a,b){var c=a.charAt(0)=='-';var d=c?1:0;var e=new BigInt();var f=new BigInt();f.digits[0]=1;for(var g=a.length-1;g>=d;g--){var h=a.charCodeAt(g);var k=charToHex(h);var l=biMultiplyDigit(f,k);e=biAdd(e,l);f=biMultiplyDigit(f,b)}e.isNeg=c;return e}function biDump(a){return(a.isNeg?"-":"")+a.digits.join(" ")}function biAdd(a,b){var c;if(a.isNeg!=b.isNeg){b.isNeg=!b.isNeg;c=biSubtract(a,b);b.isNeg=!b.isNeg}else{c=new BigInt();var d=0;var e;for(var f=0;f<a.digits.length;++f){e=a.digits[f]+b.digits[f]+d;c.digits[f]=e%biRadix;d=Number(e>=biRadix)}c.isNeg=a.isNeg}return c}function biSubtract(a,b){var c;if(a.isNeg!=b.isNeg){b.isNeg=!b.isNeg;c=biAdd(a,b);b.isNeg=!b.isNeg}else{c=new BigInt();var d,e;e=0;for(var f=0;f<a.digits.length;++f){d=a.digits[f]-b.digits[f]+e;c.digits[f]=d%biRadix;if(c.digits[f]<0)c.digits[f]+=biRadix;e=0-Number(d<0)}if(e==-1){e=0;for(var f=0;f<a.digits.length;++f){d=0-c.digits[f]+e;c.digits[f]=d%biRadix;if(c.digits[f]<0)c.digits[f]+=biRadix;e=0-Number(d<0)}c.isNeg=!a.isNeg}else{c.isNeg=a.isNeg}}return c}function biHighIndex(a){var b=a.digits.length-1;while(b>0&&a.digits[b]==0)--b;return b}function biNumBits(a){var b=biHighIndex(a);var c=a.digits[b];var d=(b+1)*bitsPerDigit;var e;for(e=d;e>d-bitsPerDigit;--e){if((c&0x8000)!=0)break;c<<=1}return e}function biMultiply(a,b){var c=new BigInt();var d;var e=biHighIndex(a);var f=biHighIndex(b);var g,h,k;for(var l=0;l<=f;++l){d=0;k=l;for(j=0;j<=e;++j,++k){h=c.digits[k]+a.digits[j]*b.digits[l]+d;c.digits[k]=h&maxDigitVal;d=h>>>biRadixBits}c.digits[l+e+1]=d}c.isNeg=a.isNeg!=b.isNeg;return c}function biMultiplyDigit(a,b){var c,d,e;result=new BigInt();c=biHighIndex(a);d=0;for(var f=0;f<=c;++f){e=result.digits[f]+a.digits[f]*b+d;result.digits[f]=e&maxDigitVal;d=e>>>biRadixBits}result.digits[1+c]=d;return result}function arrayCopy(a,b,c,d,e){var f=Math.min(b+e,a.length);for(var g=b,h=d;g<f;++g,++h){c[h]=a[g]}}var highBitMasks=new Array(0x0000,0x8000,0xC000,0xE000,0xF000,0xF800,0xFC00,0xFE00,0xFF00,0xFF80,0xFFC0,0xFFE0,0xFFF0,0xFFF8,0xFFFC,0xFFFE,0xFFFF);function biShiftLeft(a,b){var c=Math.floor(b/bitsPerDigit);var d=new BigInt();arrayCopy(a.digits,0,d.digits,c,d.digits.length-c);var e=b%bitsPerDigit;var f=bitsPerDigit-e;for(var g=d.digits.length-1,h=g-1;g>0;--g,--h){d.digits[g]=((d.digits[g]<<e)&maxDigitVal)|((d.digits[h]&highBitMasks[e])>>>(f))}d.digits[0]=((d.digits[g]<<e)&maxDigitVal);d.isNeg=a.isNeg;return d}var lowBitMasks=new Array(0x0000,0x0001,0x0003,0x0007,0x000F,0x001F,0x003F,0x007F,0x00FF,0x01FF,0x03FF,0x07FF,0x0FFF,0x1FFF,0x3FFF,0x7FFF,0xFFFF);function biShiftRight(a,b){var c=Math.floor(b/bitsPerDigit);var d=new BigInt();arrayCopy(a.digits,c,d.digits,0,a.digits.length-c);var e=b%bitsPerDigit;var f=bitsPerDigit-e;for(var g=0,h=g+1;g<d.digits.length-1;++g,++h){d.digits[g]=(d.digits[g]>>>e)|((d.digits[h]&lowBitMasks[e])<<f)}d.digits[d.digits.length-1]>>>=e;d.isNeg=a.isNeg;return d}function biMultiplyByRadixPower(a,b){var c=new BigInt();arrayCopy(a.digits,0,c.digits,b,c.digits.length-b);return c}function biDivideByRadixPower(a,b){var c=new BigInt();arrayCopy(a.digits,b,c.digits,0,c.digits.length-b);return c}function biModuloByRadixPower(a,b){var c=new BigInt();arrayCopy(a.digits,0,c.digits,0,b);return c}function biCompare(a,b){if(a.isNeg!=b.isNeg){return 1-2*Number(a.isNeg)}for(var c=a.digits.length-1;c>=0;--c){if(a.digits[c]!=b.digits[c]){if(a.isNeg){return 1-2*Number(a.digits[c]>b.digits[c])}else{return 1-2*Number(a.digits[c]<b.digits[c])}}}return 0}function biDivideModulo(a,b){var c=biNumBits(a);var d=biNumBits(b);var e=b.isNeg;var f,g;if(c<d){if(a.isNeg){f=biCopy(bigOne);f.isNeg=!b.isNeg;a.isNeg=false;b.isNeg=false;g=biSubtract(b,a);a.isNeg=true;b.isNeg=e}else{f=new BigInt();g=biCopy(a)}return new Array(f,g)}f=new BigInt();g=a;var h=Math.ceil(d/bitsPerDigit)-1;var k=0;while(b.digits[h]<biHalfRadix){b=biShiftLeft(b,1);++k;++d;h=Math.ceil(d/bitsPerDigit)-1}g=biShiftLeft(g,k);c+=k;var l=Math.ceil(c/bitsPerDigit)-1;var n=biMultiplyByRadixPower(b,l-h);while(biCompare(g,n)!=-1){++f.digits[l-h];g=biSubtract(g,n)}for(var m=l;m>h;--m){var o=(m>=g.digits.length)?0:g.digits[m];var q=(m-1>=g.digits.length)?0:g.digits[m-1];var r=(m-2>=g.digits.length)?0:g.digits[m-2];var p=(h>=b.digits.length)?0:b.digits[h];var s=(h-1>=b.digits.length)?0:b.digits[h-1];if(o==p){f.digits[m-h-1]=maxDigitVal}else{f.digits[m-h-1]=Math.floor((o*biRadix+q)/p)}var t=f.digits[m-h-1]*((p*biRadix)+s);var u=(o*biRadixSquared)+((q*biRadix)+r);while(t>u){--f.digits[m-h-1];t=f.digits[m-h-1]*((p*biRadix)|s);u=(o*biRadix*biRadix)+((q*biRadix)+r)}n=biMultiplyByRadixPower(b,m-h-1);g=biSubtract(g,biMultiplyDigit(n,f.digits[m-h-1]));if(g.isNeg){g=biAdd(g,n);--f.digits[m-h-1]}}g=biShiftRight(g,k);f.isNeg=a.isNeg!=e;if(a.isNeg){if(e){f=biAdd(f,bigOne)}else{f=biSubtract(f,bigOne)}b=biShiftRight(b,k);g=biSubtract(b,g)}if(g.digits[0]==0&&biHighIndex(g)==0)g.isNeg=false;return new Array(f,g)}function biDivide(a,b){return biDivideModulo(a,b)[0]}function biModulo(a,b){return biDivideModulo(a,b)[1]}function biMultiplyMod(a,b,c){return biModulo(biMultiply(a,b),c)}function biPow(a,b){var c=bigOne;var d=a;while(true){if((b&1)!=0)c=biMultiply(c,d);b>>=1;if(b==0)break;d=biMultiply(d,d)}return c}function biPowMod(a,b,c){var d=bigOne;var e=a;var f=b;while(true){if((f.digits[0]&1)!=0)d=biMultiplyMod(d,e,c);f=biShiftRight(f,1);if(f.digits[0]==0&&biHighIndex(f)==0)break;e=biMultiplyMod(e,e,c)}return d}function RSAKeyPair(a,b,c){this.e=biFromHex(a);this.d=biFromHex(b);this.m=biFromHex(c);this.chunkSize=2*biHighIndex(this.m);this.radix=16;this.barrett=new BarrettMu(this.m)}function twoDigit(a){return(a<10?"0":"")+String(a)}function encryptedString(a,b){var c=new Array();var d=b.length;var e=0;while(e<d){c[e]=b.charCodeAt(e);e++}while(c.length%a.chunkSize!=0){c[e++]=0}var f=c.length;var g="";var h,k,l;for(e=0;e<f;e+=a.chunkSize){l=new BigInt();h=0;for(k=e;k<e+a.chunkSize;++h){l.digits[h]=c[k++];l.digits[h]+=c[k++]<<8}var n=a.barrett.powMod(l,a.e);var m=a.radix==16?biToHex(n):biToString(n,a.radix);g+=m+" "}return g.substring(0,g.length-1)}function decryptedString(a,b){var c=b.split(" ");var d="";var e,f,g;for(e=0;e<c.length;++e){var h;if(a.radix==16){h=biFromHex(c[e])}else{h=biFromString(c[e],a.radix)}g=a.barrett.powMod(h,a.d);for(f=0;f<=biHighIndex(g);++f){d+=String.fromCharCode(g.digits[f]&255,g.digits[f]>>8)}}if(d.charCodeAt(d.length-1)==0){d=d.substring(0,d.length-1)}return d}function toLogin(a){if(a.length!=256){setMaxDigits(131);var b=new RSAKeyPair("010001",'',"00f0d1b6305ea6256c768f30b6a94ef6c9fa2ee0b8eea2ea5634f821925de774ac60e7cfe9d238489be12551b460ef7943fb0fc132fdfba35fd11a71e0b13d9fe4fed9af90eb69da8627fab28f9700ceb6747ef1e09d6b360553f5385bb8f6315a3c7f71fa0e491920fd18c8119e8ab97d96a06d618e945483d39d83e3a2cf2567");var c=encryptedString(b,encodeURIComponent(a))}return c};"""import execjscwd: any = Nonecontext = execjs.compile(js,cwd=cwd)enp = context.call('toLogin', p)return enpif __name__ == "__main__" :password = str(enpwd(password))import requestsfrom bs4 import BeautifulSoupimport reimport timewhile(1):try:#200 302 302 302 302 302 302 302 302 302 200session = requests.session()lt,exe,eve,ck1,code1=login_1()if code1 == 200:ck2,code2=login_2(ck1,lt,exe,eve,username,password)if code2 == 302:cookie4,code4=login_3(ck1,ck2)if code4 == 302:ck6,code6=login_6()if code6 == 302:ck7,code7=login_7(ck2)if code7 == 302:ck8,code8=login_8(ck2)if code8 == 302:ck9,code9=login_9(ck8['Location'],ck6['Set-Cookie'].split(';')[0])if code9 == 302:cookie_result = ck9['Set-Cookie'].split(';')[0] + "; " +ck6['Set-Cookie'].split(';')[0]code10,code11,code12 = login_l(cookie_result)if code10 ==302 and code11== 302 and code12 == 302:code_home = home(cookie_result)if code_home == 200:print("^^^^^登录成功^^^^^")login_ok = 1breakelse:code10,code11,code12 = login_l(cookie_result)else:ck9,code9=login_9(ck8['Location'],ck6['Set-Cookie'].split(';')[0])else:ck8,code8=login_8(ck2)else:ck7,code7=login_7(ck2)else:ck6,code6=login_6()else:cookie4,code4=login_3(ck1,ck2)else:ck2,code2=login_2(ck1,lt,exe,eve,username,password)else:lt,exe,eve,ck1,code1=login_1()except:print('!小子有问题!!赶快检查账号密码!')time.sleep(1)continueif login_ok == 1:while(1):try:ppcj = cxcj(cookie_result)print(ppcj)breakexcept:print('!你小子有问题!')time.sleep(1)continue

部分代码解释

代码由多个请求之间换取cookie最后实现登录

主函数部分仍可以优化,前面部分需要按步骤一步一步进行登陆才能成功

函数enpwd()是对密码进行加密,在网页扣下来的js代码,是rsa加密,可以进行修改

函数cxcj()是查询成绩


感谢

拿走记得评论奥

kmust昆明理工大学(昆工)统一身份认证登录python相关推荐

  1. PSD统一身份认证登录系统模板

    简介: PSD统一身份认证登录系统模板,界面很美观,需要自取 网盘下载地址: http://kekewangLuo.net/7JcHr1LSf180 图片:

  2. 统一身份认证登录详细介绍-identity4

    实现细节 RDC的统一身份认证中心使用的是 identity4,前端对接的js框架是 oidc-client-js,而这个框架默认是不支持 VUE 使用的 ES6 的模块,所以需要手动修改,在 oid ...

  3. vue接入万达IAM(统一身份认证登录)记录

    1.需先提前申请测试环境下的 clientId 和 clientSecret 2.第一步获取授权码的 code 接口 和 退出登录的接口,均通过 window.loaction的方式请求 即: win ...

  4. JAVA——基于HttpClient的通过单点登录方式(统一身份认证平台)登录正方教务系统[1999-2020]基本解决方案

    问题分析 通过HttpClient获取网页数据源,通过Jsoup解析数据.先模拟登录统一身份认证平台,再通过单点登录方式登录正方教务系统,最后获取相关信息.模拟浏览器正常操作,封装请求头信息获取SES ...

  5. 构建基于分布式SOA架构的统一身份认证体系

    摘要:本文充分利用SOA架构松耦合的特点,通过规范统一网络接口实现业务系统整合,既提升系统安全性,又简化资源访问操作,具有重要的理论和现实意义. 统一身份认证旨在将分散在各个信息系统中的用户和权限资源 ...

  6. cas如何实现多系统间的相互认证_统一身份认证和单点登录的区别

    首先大家会遇到这样一个问题,统一身份认证和单点登录的概念是什么? 百度百科对统一身份认证的定义 所谓身份认证,就是判断一个用户是否为合法用户的处理过程.最常用的简单身份认证方式是系统通过核对用户输入的 ...

  7. SCPPO(二十一):系统统一身份认证的改造之路(续)

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 在上篇博文中小编为大家分享了<SCPPO:系统统一身份认证的改造之路>,由 ...

  8. SCPPO(二十):系统统一身份认证的改造之路

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 小编最近做的项目主要工作是维护,项目基本功能已经实现,平常时修改一些Bug或根据需求做 ...

  9. Dynamics 365 CRM 接入统一身份认证平台(单点登录集成)

    打算将D365 CRM接入公司统一身份认证平台. 前提:D365 已IFD部署,因为要借助ADFS来完成单点登录. 登录ADFS服务器,打开ADFS,本次集成,统一身份认证为上游,ADFS是下游,因为 ...

最新文章

  1. win7调整屏幕亮度_番禺区户外LED屏幕求购,区LCD屏幕解决方案
  2. 【VM单机模拟系列】VMware P2V简单实现
  3. nodejs 定时 mysql_nodejs 使用 mysql
  4. P3564 [POI2014]BAR-Salad Bar(ST表 + 二分)
  5. 【CF1194E】Count The Rectangles【类扫描线】【单调性】【树状数组】
  6. SourceTree的基本使用 - 天字天蝎 - 博客园
  7. 教育部:浙江大学等35所高校新增人工智能本科专业
  8. 树莓派安装vsftp过程中遇到的坑
  9. 【数学建模】论文模板和latex模板
  10. CPU卡密钥管理系统
  11. veu项目实践详细笔记(一)
  12. 计算机也无法解的函数,XP提示“无法访问函数不正确”怎么办|XP提示“函数不正确”的四种解决方案...
  13. ICPC2017沈阳赛区游记
  14. Jetpack Room基本用法
  15. 软件研发管理工具Ones横评,对比国内外主流项目管理软件
  16. 黑苹果系统安装常见问题汇集
  17. matlab算法(二维傅立叶级数变换)
  18. sql月度分组_SQL语句按年 月 日 季度分组
  19. mysqli数据库连接
  20. CCF关于举办CSP-S/J的报名通知

热门文章

  1. 计算器中,Byte,Word, Dword, Qword
  2. java几种读写文件的方式
  3. 团队里A和B吵架了,经理M该干啥?
  4. CSP-J 2022年真题
  5. Springboot项目访问路径
  6. MVVM处理TreeView的SelectedItem的绑定的两种方式
  7. thickbox 应用
  8. 分享一个灰常简单好用的jQuery弹出层插件:jquery.artwl.thickbox.js
  9. 我等你,在灯火阑珊处
  10. Win7 静态IP配置