検索
ホームページWeChat アプレットミニプログラム開発GPAを計算するために学務システムへのログインをシミュレートする小さなプログラム

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

# 保存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 サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません