HAR→cURL変換ツール

ブラウザのHARファイルに記録されたリクエストを、そのまま実行できるcURLコマンドに変えます。

HAR→cURL変換ツールは完全にブラウザ内で動作します。アーカイブは端末上で解析され、含まれるセッションCookieが外へ出ることはありません。

HARファイルビューアーを開く

HARをcURLに変換 について

HAR→cURL変換ツールは、ブラウザの開発者ツールが書き出すネットワークアーカイブを読み、その中のどのリクエストでもターミナルに貼れるコマンドへ変えます。「ブラウザでは動くのにスクリプトでは動かない」の溝を埋める最速の方法です。ヘッダーもメソッドもリクエストボディも、ブラウザが送った通りに引き継がれます。丁寧に扱う点が2つあります。シェルのクォートはシングルクォート内のシングルクォートにPOSIXのエスケープを使うため、アポストロフィを含むJSONボディでコマンドが静かに壊れません。そしてHARには生きたセッションCookieが載るので、スイッチひとつでCookieとAuthorizationヘッダーを外せます。

機能

HARをcURLに変換 の使い方

  1. 開発者ツールのネットワークパネルで「内容を含めてHARとして保存」を選びます
  2. .harファイルをここへドロップするか、内容を貼り付けます
  3. リストからリクエストを選ぶか、「すべて」のままで全件変換します
  4. 共有するならCookieと認証の除去をオンにしてコピーします

入力

POST https://api.example.com/login with a JSON body

出力

curl 'https://api.example.com/login' \
  -H 'Content-Type: application/json' \
  --data-raw '{"user":"jo"}' \
  --compressed

ボディ付きPOSTに-Xは出力されません。--dataがすでにPOSTを含意するからです。

よくあるエラーとトラブルシューティング

よくある質問

ブラウザからHARファイルを書き出すには?
開発者ツールを開き、ネットワークパネルでリクエストを再現し、任意の行を右クリックして「内容を含めてすべてをHARとして保存」を選びます。Chrome・Edge・Firefox・Safariのいずれにも同等の機能があります。
生成されたcURLコマンドに-X POSTがないのはなぜ?
--data-rawがすでにPOSTを含意しており、その上に-Xを重ねるとcURLのリダイレクト処理が変わりうるからです。メソッドフラグはPUT・PATCH・DELETEなど本当に必要なときだけ出力されます。
HAR由来のcURLコマンドを共有しても安全?
既定では危険です — HARは生きたセッションCookieとAuthorizationヘッダーを捕らえており、実質パスワードです。先に除去オプションをオンにしてください。Cookie・Authorization・一般的なAPIキー系ヘッダーが外れます。
変換するときHARファイルはアップロードされますか?
いいえ。ファイルは完全にブラウザ内で解析されます。HARには捕捉した全リクエストのセッションCookieや個人情報が日常的に含まれるだけに、これは重要です。

関連ツール

すべての ArrayKit ツール