GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム

零下一度
リリース: 2017-05-27 14:43:54
オリジナル
4225 人が閲覧しました

いくつかの小さなゲームを作った後、コードを入力するのは肉体的な作業であり、ゆっくりと完了できることに徐々に気づき始めました。ここ数日、GPA を計算するために学術管理システムへのログインをシミュレートする小さなプログラムを作成したいという衝動に駆られました。しかし、私はネットワークプログラミングの経験がなかったので、中間試験後の4連休を利用して少しずつ穴埋めしてきました。
最近、私はJava言語に訳の分からない思い入れがあります。当初はJavaを使って開発する予定でしたが、ネットワークプログラミングに関してはpythonよりもJavaの方が面倒なようで、またJavaのメソッドの使い方を間違えてしまい、学校の教務システムが誤って動作してしまいました。 SQLインジェクションを実行してIPをブロックしていたと思います(...) それ以来、Pythonで書くことにしました。

cookieは、ログイン後のセッションステータスを記録するために使用されます。

# 保存cookie
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
ログイン後にコピー

まずブラウザを使用して学術管理システムにログインし、コンソールを開いてログイン Web ページに投稿する必要があるメッセージを分析し、実際のリクエスト Web ページを見つけます。

GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム
GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム

上の 2 つの図の分析から、実際に要求された Web ページを取得できます: 121.251.19.29/pass.asp

ログインのために投稿するために必要なデータは次のとおりです: UserStyle、ユーザー、パスワード、ここでUserStyle はラジオのタイプです。Web ページのソースを参照してください。 コードは、学生、教師、および OtherUser の 3 つのタイプに分かれています。

次に、投稿リクエストを送信します。

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)
ログイン後にコピー

正常にログインしたら、オプションをクリックしてスコア クエリを見つけ、要求された Web ページを見つけます: 121.251.19.29/student/asp/Select_Success.asp

GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム

要求 Web ページを開いて、スコアページ

req = urllib2.Request('121.251.19.29/student/asp/Select_Success.asp')
resData = urllib2.urlopen(req)
res = resData.read()  # 读取成绩页面
ログイン後にコピー

正規表現を使用してすべてのHTMLタグをフィルタリングします。残りのコンテンツは解析されます。得点を表示する表には周期的なパターンがあり、対応する科目の得点と単位を抽出し、最終的に平均点と評定点を計算します。

tag = re.compile(&#39;</?[^>]*>&#39;)
s = re.sub(tag, &#39;&#39;, res)  # 过滤标签
tmp = s.split()
ログイン後にコピー

もちろん、アカウントまたはパスワードが正しく入力されない場合、ログイン要求は失敗し、ユーザーはアカウントとパスワードの再入力を求められます。以下に、テストするクラスメートのアカウントをいくつか見つけました。

GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム
GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム
GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム
GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム

最後に、アカウントのログインに成功すると、アカウントのパスワードがメールボックスに送信されます

Pythonの送信シミュレーションの内容は書きません。普通のテキストメール。 。オープンソース: github.com/ly941122/CalGPA

[関連する推奨事項]

1. PHP コレクション、模擬ログイン フォーラム アプレット_PHP チュートリアル

2. WeChat アプレット開発ログイン プロセスの作成手順

3.ミニプログラム開発のためのフォーム検証に関するチュートリアル

4. WeChat ミニプログラムの詳細な説明と最適化

以上がGPAを計算するために学務システムへのログインをシミュレートする小さなプログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!