この記事は、 Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の6日目です。
昨日はUNIPAのセッション維持方法を見ました。今日は、東京電機大学で使用しているもう一つのポータルサイトであるWebClassのセッション維持方法を見てみます。
TL;DR
- Cookieで保持
WBT_Session
とWCAC
もう、昨日のUNIPAがトリッキーすぎてこっちはもう一瞬で分かりますね。Cookieを使用しています。
クロールベストプラクティス
https://els.sa.dendai.ac.jp/webclass/login.php
に対してGETする- 1で取得したDOMから、CSSセレクタ
input[name="token"]
のDOMからvalue
要素を取得する。これがtoken
になる。 https://els.sa.dendai.ac.jp/webclass/login.php
にPOSTする。payloadは以下。username=[学籍番号]&val=[password]&useragent=&language=JAPANESE&token=[token]
3では、Cookieを付与していてJavaScriptでリダイレクトしているので、DOMを解析するなどしてリダイレクトする。
<script type="text/javascript"> window.location.href="/webclass/?acs_=e75bb29c"; </script>
成功