Ein kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen

零下一度
Freigeben: 2017-05-27 14:43:54
Original
4182 Leute haben es durchsucht

Nachdem ich ein paar kleine Spiele gespielt hatte, wurde mir langsam klar, dass das Eingeben von Code eine körperliche Arbeit ist und man sie langsam bewältigen kann. In den letzten Tagen verspürte ich den Drang, ein kleines Programm zu schreiben, das das Einloggen in das akademische Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen. Allerdings hatte ich zuvor noch keine Erfahrung in der Netzwerk-Programmierung und so habe ich die viertägigen Ferien nach der Zwischenprüfung genutzt, um die Lücken nach und nach zu schließen.
In letzter Zeit hege ich eine unerklärliche Vorliebe für die Sprache Java. Ich hatte ursprünglich vor, Java für die Entwicklung zu verwenden, aber es stellte sich heraus, dass Java in Bezug auf die Netzwerkprogrammierung problematischer zu sein scheint als Python Das Verwaltungssystem glaubte fälschlicherweise, dass ich eine SQL-Injection durchführte, und blockierte meine IP (...) Von da an beschloss ich, in Python zu schreiben.  

Cookie

wird verwendet, um den Sitzungs-Status nach der Anmeldung aufzuzeichnen.

Melden Sie sich zunächst über einen Browser beim akademischen Verwaltungssystem an, öffnen Sie die Konsole, um zu analysieren, welche Nachrichten auf der Anmeldeseite gepostet werden müssen, und finden Sie die eigentliche Anforderungsseite heraus.
# 保存cookie
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
Nach dem Login kopieren

Ein kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen
Ein kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen Aus der Analyse der beiden obigen Bilder geht hervor, dass die eigentliche Anforderungswebseite lautet: 121.251.19.29/pass.asp

Anmelden Die Daten sind: UserStyle, Benutzer, Passwort, wobei UserStyle der Radiotyp der Webseite ist und in drei Typen unterteilt werden kann: Student, Teacher und OtherUser.

Als nächstes senden Sie eine Post-Anfrage.

Klicken Sie nach erfolgreicher Anmeldung auf die Option, um die Punkteabfrage zu finden und die gewünschte Webseite zu finden: 121.251.19.29/student/asp/Select_Success.asp
url = '121.251.19.29/pass.asp'
h = urllib2.urlopen(url)
info = {'UserStyle': 'student', 'user': user, 'password': psw}
info = urllib.urlencode(info)
req = urllib2.Request(url, info)
urllib2.urlopen(req)
Nach dem Login kopieren

Ein kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen Öffnen Sie die angeforderte Webseite und lesen Sie den Quellcode der Ergebnisseite.

Verwenden Sie reguläre Ausdrücke, um alle HTML-Tags zu filtern. Der verbleibende Inhalt wird analysiert. Die Tabelle mit den Ergebnissen weist ein periodisches Muster auf. Extrahieren Sie die Ergebnisse und Credits der entsprechenden Fächer und berechnen Sie schließlich die durchschnittliche Punktzahl und die Notenpunkte.
req = urllib2.Request('121.251.19.29/student/asp/Select_Success.asp')
resData = urllib2.urlopen(req)
res = resData.read()  # 读取成绩页面
Nach dem Login kopieren

Wenn das Konto oder das Passwort falsch eingegeben wird, schlägt die Anmeldeanforderung natürlich fehl und der Benutzer wird aufgefordert, das Konto und das Passwort erneut einzugeben. Unten habe ich die Konten mehrerer Klassenkameraden zum Testen gefunden.
tag = re.compile(&#39;</?[^>]*>&#39;)
s = re.sub(tag, &#39;&#39;, res)  # 过滤标签
tmp = s.split()
Nach dem Login kopieren

Ein kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen
Ein kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen
Ein kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen
Ein kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen Nachdem der Account erfolgreich eingeloggt wurde, wurde der Das Kontopasswort wird an meine E-Mail-Adresse gesendet

Ich werde den Inhalt der Python-Simulation des Versendens gewöhnlicher Text-E-Mails nicht schreiben. . Einfach Open Source: github.com/ly941122/CalGPA

[Verwandte Empfehlungen]

1.

PHP-Sammlung, simuliertes Login-Forum-Applet_PHP-Tutorial

2 .

Anleitung zum Erstellen des Anmeldevorgangs für die WeChat-Miniprogrammentwicklung

3

Beispiel-Tutorial zur Formularüberprüfung für die Miniprogrammentwicklung

4 >Optimieren Sie Ihr WeChat-Miniprogramm

Das obige ist der detaillierte Inhalt vonEin kleines Programm, das die Anmeldung beim akademischen Verwaltungssystem simuliert, um den Notendurchschnitt zu berechnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!