IT

【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
海洋
海洋
Linuxやネットワーク・セキュリティに興味あり。
勉強中の内容も掲載しておりますので、間違いも有るかと思います。
その点をご理解いただき、お気づきのさいはご連絡いただけると幸いです。
記事URLをコピーしました