cURLコマンドをPython・JavaScript・Shellに変換する方法
cURLはコマンドラインでHTTPリクエストを送るユーティリティで、APIドキュメントや開発者ツールからコマンドをコピーできます。しかしアプリケーションコードに組み込む際はPython requestsやfetch APIなどに書き換える必要があり、この変換をツールで自動化できます。
cURLの基本オプション
-X(HTTPメソッド: GET/POST/PUT/DELETE等)・-H(ヘッダー)・-d(リクエストボディ)・-u(Basic認証)・-b(Cookie)・-F(フォームデータ)が主要なオプションです。開発者ツール(DevTools)のNetworkタブで任意のリクエストを右クリック→「cURLとしてコピー」で実際のリクエストをcURLに変換できます。
Python requestsへの変換
curlをPythonに変換するとrequests.get() / requests.post()などの形式になります。-Hオプションはheaders辞書に、-dはjson=またはdata=引数に対応します。import requestsが必要で、response.json()でレスポンスをPythonオブジェクトとして取得できます。
JavaScript fetchとaxiosの違い
fetchはブラウザ標準APIでNode.js 18以降でも使えます。fetch(url, { method, headers, body })の形式です。axiosはサードパーティライブラリですがJSONの自動パース・エラーハンドリングが便利です。axios.post(url, data, { headers })で使います。cURL to Codeはfetchとaxiosどちらのコードも生成します。
変換履歴とAPIテスト活用法
cURL to Codeは直近10件の変換履歴を保存します。APIのテスト中に同じcURLコマンドを繰り返し変換する場面で便利です。生成したコードはそのままJupyter Notebook・VSCodeの補完と組み合わせて即座に実行できます。複数言語のコードを並べて比較することで各言語のHTTPライブラリの書き方を学ぶ教材にもなります。