curl → fetch / axios / Python / Go
プライバシー優先設計 — すべてブラウザ内で処理します
-H、-d、-u、メソッドフラグを含む curl コマンドを貼り付けると、JavaScript fetch、axios、Python requests、Go net/http の同等コードを生成します。言語間で API 呼び出しを移植するときに便利です。
コンバーターが解釈する内容
Toova は POSIX シェルと同じ方法でコマンドをトークン化するため、シングル/ダブルクオート、行継続のバックスラッシュ、繰り返しのヘッダー指定が往復後もそのまま保持されます。動詞は -X、ヘッダーは複数の -H、ボディは -d / --data-raw / --data-urlencode、basic 認証は -u を読み込み、Base64 にエンコードした Authorization ヘッダーとして出力します。-L、-k、-s、--compressed といった機能に影響しないフラグは黙って無視されます。
各ターゲットでの出力の形
JavaScript fetch では URL をインラインに保ち、method、headers、body を持つオプションオブジェクトを生成します。axios は config オブジェクトを使い、ヘッダー・クエリ・ボディをまとめます。--data が JSON としてパースできれば、型付きの data フィールドに昇格します。Python requests も URL をインラインにし、JSON ペイロードには json=、その他には data= を使います。Go net/http では http.NewRequest を組み立て、各ヘッダーを set し、io.ReadAll でボディを読むことで慣用的なコードに揃えます。
ブラウザの外に出ない理由
本番の curl コマンドには Bearer トークン、API キー、セッションクッキーといった機微な値がしばしば含まれます。これらは公開フォームに貼り付けたくない種類の文字列です。コンバーターはこのタブで動く小さな JavaScript です。動作確認のために DevTools を開いてみてください。貼り付けても言語を切り替えてもリクエストは発生しません。これが約束です。
よくある質問
- どの curl フラグをサポートしていますか?
- -X / --request、-H / --header、-d / --data / --data-raw、--data-urlencode、-u / --user に加え、機能に影響しないフラグ -L、-k、--compressed、-s/-v、--silent を扱います。
- JSON ボディも処理しますか?
- はい。--data が有効な JSON のとき、axios と Python の出力ではオブジェクト形式を使ってペイロードを型付きにします。それ以外は生の文字列として保持します。
- マルチパートのアップロードは?
- 単一の -F はヘッダー無しのボディとしてそのまま変換します。マルチパートの完全対応はロードマップにあり、現状は FormData に手動で切り替えてください。
- トークンや API キーは記録されますか?
- いいえ。変換はこのブラウザタブで完結します。Toova は curl コマンドを見ず、入力フィールドのテレメトリも取りません。
- なぜ GET が POST になるのですか?
- curl の仕様です。--data がある場合、-X GET で明示的に指定しない限りメソッドは自動的に POST へ昇格します。コンバーターも同じ挙動を再現し、生成コードのセマンティクスを揃えます。
- 出力を保存できますか?
- コピー ボタンで取得してください。ページの再読み込みをまたいで保存することはしません。試行錯誤の間はタブを開いたままにしてください。