Maison  >  Article  >  Applet WeChat  >  Un petit programme qui simule la connexion au système d'administration académique pour calculer la GPA

Un petit programme qui simule la connexion au système d'administration académique pour calculer la GPA

零下一度
零下一度original
2017-05-27 14:43:544234parcourir

Après avoir joué à quelques petits jeux, j'ai commencé à réaliser petit à petit que taper du code est un travail physique et qu'on peut s'en sortir lentement. Ces derniers jours, j'ai eu envie d'écrire un petit programme qui simule la connexion au système d'administration académique pour calculer la GPA. Cependant, je n'avais aucune expérience en programmation réseau auparavant, j'ai donc profité des quatre jours de vacances après l'examen de mi-session pour combler les lacunes petit à petit.
Depuis peu, j'ai un penchant inexplicable pour le langage Java. J'avais initialement prévu d'utiliser Java pour le développement, mais il s'avère que Java semble être plus gênant que python en termes de programmation réseau. De plus, une méthode en Java a été mal utilisée, ce qui a causé des problèmes académiques à l'école. système d'administration de penser à tort que je faisais une injection SQL et bloquais mon IP (...) Dès lors, j'ai décidé d'écrire en python. Le

 cookie est utilisé pour enregistrer le statut de la session après la connexion.

# 保存cookie
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)

Utilisez d'abord un navigateur pour vous connecter au système d'administration académique, ouvrez la console pour analyser quels messages doivent être publiés sur la page Web de connexion et découvrez la véritable page Web de la demande.

Un petit programme qui simule la connexion au système dadministration académique pour calculer la GPA
Un petit programme qui simule la connexion au système dadministration académique pour calculer la GPA

D'après l'analyse des deux images ci-dessus, la véritable page Web de la demande est : 121.251.19.29/pass.asp

Connexion nécessite une publication. Les données sont : UserStyle, user, password, où UserStyle est le type de radio. En regardant le code source de la page Web, il peut être divisé en trois types : étudiant, enseignant et OtherUser.

Ensuite, envoyez une demande de publication.

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)

Après vous être connecté avec succès, cliquez sur l'option pour trouver la requête de score et trouvez la page Web demandée : 121.251.19.29/student/asp/Select_Success.asp

Un petit programme qui simule la connexion au système dadministration académique pour calculer la GPA

Ouvrez la page Web de requête et lisez le code source de la page de partition

req = urllib2.Request('121.251.19.29/student/asp/Select_Success.asp')
resData = urllib2.urlopen(req)
res = resData.read()  # 读取成绩页面

Utilisez des expressions régulières pour filtrer toutes les balises HTML. Le contenu restant est analysé. Le tableau affichant les scores a un modèle périodique, extrait les scores et les crédits des matières correspondantes, et enfin calcule le score moyen et les notes.

tag = re.compile(&#39;</?[^>]*>&#39;)
s = re.sub(tag, &#39;&#39;, res)  # 过滤标签
tmp = s.split()

Bien entendu, si le compte ou le mot de passe est mal saisi, la demande de connexion échouera et l'utilisateur sera invité à ressaisir le compte et le mot de passe. Ci-dessous, j’ai trouvé les comptes de plusieurs camarades de classe à tester.

Un petit programme qui simule la connexion au système dadministration académique pour calculer la GPA
Un petit programme qui simule la connexion au système dadministration académique pour calculer la GPA
Un petit programme qui simule la connexion au système dadministration académique pour calculer la GPA
Un petit programme qui simule la connexion au système dadministration académique pour calculer la GPA

Enfin, j'ai été un peu intelligent Une fois le compte connecté avec succès, le le mot de passe du compte sera envoyé à mon adresse e-mail

Je n'écrirai pas le contenu de la simulation python d'envoi d'e-mails texte ordinaires. . Juste open source : github.com/ly941122/CalGPA

[Recommandations associées]

1 Collection PHP et applet de forum de connexion simulée_PHP tutoriel

2. . Instructions pour créer un processus de connexion pour le développement d'un mini programme WeChat

3 Tutoriel d'exemple de vérification de formulaire pour le développement d'un mini programme

4. >Optimisez votre mini programme WeChat

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn