Netscape CookieをJSONに変換して取り込む手順
Digital Account Market
· 最終更新:
cookies.txtファイルはあるのに、使いたい拡張機能や自動化ツールがJSON形式のCookie配列しか受け付けない、という場面は珍しくありません。Netscape形式のCookieをJSONに変換する作業は、ファイルの各列の意味さえ分かれば簡単で、読み取れなかった行を正確に教えてくれるコンバーターを使えば数秒で終わります。
このガイドでは、Netscape形式のCookieファイルの仕組みとJSON側の形、無料の変換ツールの使い方、結果をCookieエディタに取り込んでXのセッションが実際に動くかを確認する手順を説明します。失敗の大半を引き起こす貼り付けミスと、ツールがJSONではなくBase64を求めてきた場合の対処も紹介します。
NetscapeのCookieをJSONに:タブ区切りの7列
Netscape形式のCookieファイルは、1行に1つのCookieを書いたプレーンテキストです。各行には、1つのタブ文字で区切られた7つのフィールドが常に同じ順番で並びます。curlやwget、ブラウザ用のCookieエクスポート拡張機能の多くがこの形式で書き出します。
- ドメイン(Domain): Cookieが有効な範囲です(例:.x.com)。先頭のドットはサブドメインを含むことを意味します。
- サブドメインフラグ: TRUEまたはFALSEで、サブドメインにもCookieを送ってよいかを示します。
- パス(Path): ほとんどはスラッシュ1つで、サイト全体を指します。
- Secure: HTTPSでのみ送信されるCookieならTRUEです。
- 有効期限: 秒単位のUnixタイムスタンプです。0はブラウザを閉じると消えるセッションCookieを表します。
- 名前: auth_tokenやct0などのCookie名です。
- 値: Cookieの値そのもので、秘密にすべき部分です。
よく出てくる特殊なケースが2つあります。ハッシュ記号で始まる行はコメントとして無視されますが、例外が1つあります。#HttpOnly_というプレフィックスで始まる行は本物のCookieで、ドメインはプレフィックスの後ろに続き、HTTP-onlyの印が付いています。また、エクスポーターによっては最後の値を空のままにするため、6フィールドの行もあり得て、それでも有効です。
拡張機能が求めるJSON形式のCookie
JSONでのCookie取り込みは、通常、Cookieごとに1つのオブジェクトを並べた配列で、フィールドごとにキーを持ちます。当サイトの無料コンバーターが出力するキーは、domain、includeSubdomains、path、secure、expires、name、value、httpOnlyです。7つの列に対応し、HTTP-onlyプレフィックス用のフラグが加わります。
拡張機能の仕様は完全には統一されていません。ブラウザ拡張機能のAPIでは有効期限のフィールドをexpiresではなくexpirationDateと呼ぶことが多く、hostOnlyやsameSiteといったキーを加えるものもあります。大量のデータを移す前に、取り込み先の拡張機能からCookieを1件エクスポートし、そのキー名をコンバーターの出力と比べてみてください。名前が違う場合は、キー名を検索して置換すれば解決することがほとんどです。
無料ツールでcookies.txtをJSONに変換する
いちばん手早いのはNetscapeのCookieをJSONに変換するツールです。ブラウザ内で動作するため、貼り付けたテキストはサーバーに送信も保存もされません。それでも、Cookieの値は有効なセッションの認証情報なので、中身はパスワードと同じように扱ってください。
- コメント行も含めてcookies.txt全体を貼り付けます。事前の整理は不要です。
- 3つのカウンターを確認します:有効なCookie、不正な行、スキップされた行。スキップされるのはコメントと空行で、これは正常です。
- 不正な行が出たら、読み取れなかった行の一覧を開きます。各項目に行番号と理由が表示されます。
- 有効数が想定どおりになったら、JSONのリストをコピーします。
受け取ったファイルの種類に確信がなければ、先に数行を形式判別ツールに貼り付けてください。コロン区切りのアカウント行が並ぶ納品ファイルと、タブ区切りのCookieファイルは別物です。見分け方は納品ファイルの構造を形式ツールの前に確認する方法のガイドで解説しています。
JSONをCookieエディタに取り込んでセッションを確認する
JSONができたら、この作業用に使っているブラウザプロファイルのCookieエディタ拡張機能に取り込みます。
- 先にそのプロファイルでx.comを開き、拡張機能がCookieを紐づけるページとドメインを用意します。
- 拡張機能のインポート機能を開き、JSON配列を貼り付けます。
- ページを再読み込みし、サインイン画面ではなくログイン済みのホームタイムラインが表示されるか確認します。
Xのログインで特に重要なのは、セッションを保持するauth_tokenと、サイトがリクエストに使う対のトークンであるct0です。ドメインが.x.com(エクスポートが古い.twitter.comを使っている場合はそちら)であること、パスがスラッシュであること、有効期限が未来の日付であることを確認してください。ほかは完璧なのに取り込みに失敗する原因として最も多いのが、期限切れのタイムスタンプです。トークンによるサインインの全体像はauth tokenでTwitterにログインする方法をご覧ください。
よくある変換エラー:タブ、#HttpOnly_行、コメント
失敗の大半は少数のミスが原因で、コンバーターのエラー一覧がそのまま原因を指し示します。
- タブがスペースに変わっている: チャット画面、ワープロ、一部のウェブページからコピーすると、タブ文字がスペースに置き換わることがあります。するとツールには7つではなく1つの長いフィールドに見えます。プレーンテキストエディタで元のファイルからコピーし直してください。
- フィールド数が違う: どの行も6または7フィールドが必要です。値の中に余分なスペースがある行や、列が欠けた行は行番号付きで報告されます。
- ドメインまたは名前が空: ドメインかCookie名が空の行は使えないため、ツールは推測せずに一覧に出します。
- 有効期限が数字ではない: 5番目のフィールドは数字でなければなりません。文字で書かれた日付や紛れ込んだ文字は拒否されます。
- コメントとの混同: ハッシュ記号で始まる行はスキップされますが、#HttpOnly_の行は本物のCookieです。件数が想定より少ないときは、以前の整理作業で削除していないか確認してください。
元のデータを直したら、もう一度貼り付けて、有効数を想定した件数と比べます。読み取れない行をすべて報告してくれるコンバーターのほうが、黙って捨てるものより信頼できます。
ツールが求めるときはBase64へ変換する
パネルや取り込みフォームの中には、読みやすいJSONではなく、Cookie配列を1本のBase64文字列として求めるものがあります。JSONをJSONをBase64に変換するツールに貼り付け、取り込み先がインデントを求めない限りは、1行にまとめたコンパクトな出力を選んでください。既存のBase64文字列を確認したりデバッグしたりしたいときの逆方向の手順は、Base64のCookieデータをJSONにデコードする方法で解説しています。
元のcookies.txtは大元のデータとして保管しておきましょう。JSONやBase64はそこからいつでも作り直せます。ワークフローにアカウントを追加する準備ができたら、エイジドアカウントのカテゴリをご覧になり、上の無料ツールで利用ツールに合う形式に整えてください。
よくある質問
NetscapeとJSONのCookie形式は何が違いますか?
Netscape形式は、1行に7つのタブ区切りの列があるプレーンテキストです。JSONは、各Cookieが名前付きのキーを持つオブジェクトになっている構造化された配列です。どちらも同じ情報を持っているため、変換で変わるのはレイアウトであり、Cookieのデータではありません。
貼り付けたcookies.txtのCookieが0件と表示されるのはなぜですか?
多くの場合、コピー中にタブがスペースに置き換わり、どの行もフィールド数が合わなくなっています。プレーンテキストエディタで元のファイルから直接コピーして貼り付け直してください。コメントや空行しかないファイルでも0件になります。
#HttpOnly_で始まる行はコメントですか、本物のCookieですか?
本物のCookieです。プレフィックスはHTTP-onlyであることを示すだけで、ドメインはそのすぐ後ろから始まります。ハッシュ記号で始まる通常の行はコメントで、スキップされます。
Xのログインで特に重要なCookieのフィールドはどれですか?
auth_tokenとct0の名前と値が最も重要で、.x.comのような正しいドメイン、スラッシュのパス、まだ過ぎていない有効期限が必要です。これらが正しければ、サブドメインフラグのようなフィールドが問題になることはほとんどありません。
後からJSONをNetscape形式やBase64に戻せますか?
Base64はJSONをBase64に変換とBase64をJSONに変換のツールで双方向に変換できます。当サイトにはJSONからNetscape形式へのコンバーターはないため、その形式が再び必要になりそうなら、元のcookies.txtを保管しておいてください。

