WebClassのセッション維持方法を見る

この記事は、 Calendar for 東京電機大学 | Advent Calendar 2022 - Qiita の6日目です。


昨日はUNIPAのセッション維持方法を見ました。今日は、東京電機大学で使用しているもう一つのポータルサイトであるWebClassのセッション維持方法を見てみます。

els.sa.dendai.ac.jp

TL;DR

  • Cookieで保持
    • WBT_SessionWCAC

もう、昨日のUNIPAがトリッキーすぎてこっちはもう一瞬で分かりますね。Cookieを使用しています。

クロールベストプラクティス

  1. https://els.sa.dendai.ac.jp/webclass/login.php に対してGETする
  2. 1で取得したDOMから、CSSセレクタinput[name="token"]のDOMからvalue要素を取得する。これがtokenになる。
  3. https://els.sa.dendai.ac.jp/webclass/login.phpにPOSTする。payloadは以下。

     username=[学籍番号]&val=[password]&useragent=&language=JAPANESE&token=[token]
    
  4. 3では、Cookieを付与していてJavaScriptでリダイレクトしているので、DOMを解析するなどしてリダイレクトする。

     <script type="text/javascript">
         window.location.href="/webclass/?acs_=e75bb29c";
     </script>   
    
  5. 成功