HAR→cURL変換ツール

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

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

開発・運営:Udit Agarwal

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

HARをcURLに変換 について

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

機能

  • あらゆるHARエクスポートを読み、全リクエストを一覧
  • URL・メソッド・ステータスコードで絞り込み
  • 1件でも、絞り込んだ全件でも一括変換
  • クォートやアポストロフィを含むボディにPOSIX準拠のクォート
  • Cookie・Authorization・APIキー系ヘッダーをスイッチで除去
  • ブラウザ管理のヘッダーとHTTP/2疑似ヘッダーを破棄

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を含意するからです。

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

  • コマンドは走るがサーバーが401や403を返す。 — おそらく認証ヘッダーを除去したか、載っていたセッションが期限切れです。除去オプションを外し、ログインした状態でHARを書き出し直してください。
  • このJSONはHARファイルではないと言われる。 — HARはトップレベルにlogオブジェクトとentries配列を持ちます。保存したレスポンスボディやコピーしたJSONにはその構造がありません — 「HARとして保存」で書き出し直してください。
  • コマンドにリクエストボディがない。 — 内容を含めて書き出してください。含めない場合HARはヘッダーだけを記録しボディを省くので、--data-rawに入れるものがなくなります。

よくある質問

ブラウザから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や個人情報が日常的に含まれるだけに、これは重要です。

関連ツール

API ツールの他のツール

  • Postman to cURL — Postmanのコレクションを実行可能なcURLコマンドに変換。
  • cURLからC#へ — curlコマンドをHttpClient付きC#コードに変換します。
  • cURLからJavaへ — curlコマンドをHttpClient付きJavaコードに変換します。
  • cURLからRubyへ — curlコマンドをRubyのNet::HTTPコードに変換します。
  • cURLからPowerShellへ — curlコマンドをPowerShellのInvoke-RestMethodに変換します。
  • cURLからSwiftへ — curlコマンドをURLSessionのSwiftコードに変換。
  • cURLからDartへ — curlコマンドをpackage:httpのDartコードに変換。
  • cURL から Fetch — curlコマンドを JavaScript の fetch() 呼び出しに変換します。
  • URL パーサー — URLを各パーツに分解し、クエリパラメータを一覧表示します。
  • API クライアント — HTTPリクエストを送信し、ヘッダーやパラメータを作成して応答を確認。直近25件を保存します。
  • URLビルダー&UTMジェネレーター — UTMパラメータを使用して完全にエンコードされた本番用URLを構築および検証します。
  • OpenAI API テスター — OpenAI Chat Completions API のリクエストを作成・実行し、cURL、Python、JavaScript としてコピーします。

API ツールのツールをすべて見る (24) · すべてのツール