cURL コンバーター

結果
コピー
                    import java.io.IOException
import okhttp3.OkHttpClient
import okhttp3.Request

val client = OkHttpClient()

val request = Request.Builder()
  .url("https://api.example.com")
  .build()

client.newCall(request).execute().use { response ->
  if (!response.isSuccessful) throw IOException("Unexpected code $response")
  response.body!!.string()
}

                
概要
Generated by AI

cURL コマンドコンバーターは、cURL コマンドを 30 種類以上の主流プログラミング言語の HTTP クライアントコードにワンクリックで変換できる専門的なツールです。API 開発、テスト、ドキュメント作成などのシーンに適用され、クロスランゲージ開発の効率を大幅に向上させます。

主な機能

多言語サポート

以下の 30 種類の言語とフレームワークのコードへの変換をサポートします。

汎用言語

  • Python(requests / http.client)
  • JavaScript(ネイティブ / Fetch / jQuery / XHR)
  • Java(HttpURLConnection / OkHttp / Jsoup)
  • Go、C、C#、Dart、Elixir、Julia、Kotlin、Lua、MATLAB、Objective-C、OCaml、Perl、PHP、R、Ruby、Rust、Swift、Clojure

Node.js エコシステム

  • ネイティブ http モジュール
  • Axios、Fetch、Got、Ky、Request、SuperAgent

PHP フレームワーク

  • Guzzle、Requests、ネイティブ cURL

その他のツール

  • HTTPie、Wget、PowerShell(RestMethod / WebRequest)
  • Ansible、CFML、HAR/JSON 形式

各言語に適したコーディングスタイルとベストプラクティスを提供します。

インテリジェントな構文ハイライト

変換結果は対応する言語の構文ハイライトを自動的に適用し、読みやすさと確認効率を高めます。

完全な機能保持

変換プロセスで cURL コマンドのすべての重要な情報を保持します。

  • HTTP メソッド(GET、POST、PUT、DELETE など)
  • リクエストヘッダー(Headers)
  • リクエストボディ(Body / Form Data / JSON)
  • クエリパラメータ(Query Parameters)
  • 認証情報(Basic Auth / Bearer Token)
  • Cookie データ
  • プロキシ設定
  • SSL 証明書オプション

変換後のコードの機能が元の cURL コマンドと完全に一致することを保証します。

ワンクリックコピー

変換結果にコピーボタンを提供し、クリックするだけでコードをクリップボードにコピーできます。全選択コピーと部分コピーをサポートします。

使用シーン

API ドキュメント作成

ブラウザの開発者ツールや Postman から cURL コマンドをエクスポートし、複数言語のサンプルコードに素早く変換して、API ドキュメントの内容を充実させます。ユーザーが異なるプログラミング言語の統合方法を素早く習得するのに役立ちます。

インターフェーステスト

API インターフェースをテストする際、ブラウザの Network パネルからリクエストを cURL 形式でコピーし、スクリプト言語のコードに変換することで、自動テストケースの作成が容易になります。

クロスランゲージ移行

ある言語のプロジェクトから別の言語に移行する際、ツールを使用して HTTP リクエストコードを素早く変換し、手動での書き換え作業を削減します。

学習参考

初心者が同じリクエストの異なる言語での実装方法を観察することで、各言語の HTTP クライアントの使い方とコーディングスタイルを学習できます。

変換例

シンプルな GET リクエスト

cURL 入力:

curl -X GET "https://api.example.com/users$2page=1&limit=10" \
  -H "Authorization: Bearer token123"

Python(requests)への変換:

import requests

url = "https://api.example.com/users"
params = {"page": "1", "limit": "10"}
headers = {"Authorization": "Bearer token123"}

response = requests.get(url, params=params, headers=headers)
print(response.json())

JavaScript(Fetch)への変換:

const url = "https://api.example.com/users$4page=1&limit=10";
const headers = {
  "Authorization": "Bearer token123"
};

fetch(url, { headers })
  .then(response => response.json())
  .then(data => console.log(data));

JSON を含む POST リクエスト

cURL 入力:

curl -X POST "https://api.example.com/users" \
  -H "Content-Type: application/json" \
  -d '{"name":"John","email":"[email protected]"}'

Java(OkHttp)への変換:

OkHttpClient client = new OkHttpClient();

MediaType JSON = MediaType.parse("application/json; charset=utf-8");
RequestBody body = RequestBody.create(JSON, "{\"name\":\"John\",\"email\":\"[email protected]\"}");

Request request = new Request.Builder()
    .url("https://api.example.com/users")
    .post(body)
    .addHeader("Content-Type", "application/json")
    .build();

Response response = client.newCall(request).execute();

フォームデータの送信

cURL 入力:

curl -X POST "https://api.example.com/upload" \
  -F "[email protected]" \
  -F "title=My Photo"

PHP(Guzzle)への変換:

<$6php
$client = new \GuzzleHttp\Client();

$response = $client->post('https://api.example.com/upload', [
    'multipart' => [
        [
            'name' => 'file',
            'contents' => fopen('photo.jpg', 'r')
        ],
        [
            'name' => 'title',
            'contents' => 'My Photo'
        ]
    ]
]);

注意事項

cURL 構文要件

入力する cURL コマンドは標準構文に準拠する必要があります。よく使われるパラメータ:

  • -X または --request: HTTP メソッドを指定
  • -H または --header: リクエストヘッダーを追加
  • -d または --data: データを送信(POST)
  • -F または --form: フォームデータを送信
  • -u または --user: HTTP 基本認証
  • -b または --cookie: Cookie を送信
  • -A または --user-agent: User-Agent を設定

サポートされていないパラメータや非標準構文は変換失敗の原因となる可能性があります。

セキュリティ情報の取り扱い

変換プロセスはサーバー側で完了します。実際のパスワード、Token などの機密情報を含む cURL コマンドを入力しないでください。プレースホルダーで機密データを置き換え、変換後に手動で入力することをお勧めします。

ファイルパスの処理

cURL コマンド内のローカルファイルパス(例: -F "file=@/path/to/file")は、コード内のファイル読み取り操作に変換されます。実際のプロジェクトに応じてパスを調整する必要があります。

依存関係

変換後のコードは、言語やターゲットによって追加の依存関係が必要になる場合があります。使用前に必要な依存関係が揃っていることを確認してください。変換結果には通常、必要な import/require 文が含まれます。

類似ツールとの比較

curlconverter.com、Postman Code Generator などのツールと比較して、本ツールの利点:

  1. 30 種類の言語をサポートし、より包括的なカバレッジ
  2. インテリジェントな構文ハイライトでコードの可読性を向上
  3. 日本語ローカライズインターフェースで使用障壁を低減
  4. よく使用される例を提供し、素早いテストが可能
  5. コーディングスタイルが標準的で、各言語のベストプラクティスに準拠

クロスランゲージ API 呼び出しの変換を頻繁に行う開発者や技術ドキュメント作成者に適しています。

もっと見る