Others

【AtCoder】acc、ojでログインできなくなった時の対処法

海洋

AtCoderの自動化ツールのAtCoder CLI(acc)、Online Judge Tools(oj)は便利ですが時々ログインすることができなくなります。
そうなった場合はCookieを保存しているファイルをそれぞれ編集することでloginコマンドを使用せずにログインすることができます。

この記事ではacc、ojにログインするための手順を紹介します。

Cookie情報を取得する

最初にWebブラウザでAtCoderのサイトにアクセスします。
そこで開発者ツールを開き Application > Cookies > https://atcoder.jp を選択します。

そこに表示されるREVEL_SESSION行のValue列の文字をダブルクリックしてすべて選択し、コピーします。

accのsession.jsonファイルの編集

編集するファイル: session.json

まずは設定ファイルのあるディレクトリのパスを確認するため下記コマンドをターミナルなどで入力します。

acc config-dir

パスが分かったら、その配下にあるsession.jsonを任意のテキストエディタで開きます。

REVEL_SESSIONの値を先ほどWebブラウザでコピーしたものに変更して保存します。

以上でaccにログインした状態となります。

ojのcookie.jarファイルの編集

編集するファイル: cookie.jar

ターミナルで下記コマンドを入力しcookie.jarファイルのパスを確認します。

oj -h

続いてテキストエディタでファイルを編集していきます。
REVEL_SESSIONの値を先ほどWebブラウザでコピーしたものに変更しますが、セミコロン(;)までがREVEL_SESSIONの値なので、それ以降のpathなどを誤って削除しないよう注意しましょう。

以上でojにログインした状態となります。

おわりに

一度行えばしばらくログインした状態になるので、面倒ですがログインできなくなったらやってしまいましょう。

また、AtCodeをC++で行うためのDocker環境も作ったりしてます。
興味があれば使ってみてください。

あわせて読みたい
【AtCoder,C++,環境構築】手元のPCでプログラムを書こう!
【AtCoder,C++,環境構築】手元のPCでプログラムを書こう!

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
海洋
海洋
NWエンジニア
ネットワーク・セキュリティを中心に、業務や検証環境で実際に触れた内容を記録しています。
現職ではネットワークの運用・構築を担当。

保有資格
ネットワーク:ネットワークスペシャリスト / CCNA
セキュリティ:情報セキュリティマネジメント / ISC2 CC
クラウド  :AZ-104 / AZ-305
その他   :応用情報技術者 / LinuC レベル1


記事の内容に誤りなど見つけられた際は、ご指摘いただけると助かります。
記事URLをコピーしました