curl コマンドを PHP コードに変換 - API リクエスト用のすぐに使用可能な PHP cURL コードを生成
"https://api.example.com/data", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => json_encode(["name" => "test"]), CURLOPT_HTTPHEADER => [ "Content-Type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
PHP コードに変換できる一般的な curl コマンドをいくつか紹介します:
curl https://api.example.com/users
curl -X POST -H "Content-Type: application/json" -d '{"name":"John","email":"[email protected]"}' https://api.example.com/users
curl -X PUT -H "Authorization: Bearer token123" -d '{"status":"active"}' https://api.example.com/users/1
curl -X DELETE https://api.example.com/users/1
curl -H "X-API-Key: abc123" -H "Accept: application/json" https://api.example.com/data
PHP の cURL 拡張機能は、HTTP リクエストを行うための強力な方法を提供します。以下は一般的な PHP cURL パターンです:
"https://api.example.com/upload", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => [ 'file' => $cfile ], CURLOPT_HTTPHEADER => [ "Authorization: Bearer YOUR_TOKEN_HERE" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
"https://api.example.com/data", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 5, // 5 seconds timeout CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", ]); $response = curl_exec($curl); $err = curl_error($curl); $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); if ($err) { echo "cURL Error: " . $err; } else { if ($httpCode >= 400) { echo "HTTP Error: " . $httpCode . "\n"; echo "Response: " . $response; } else { $data = json_decode($response, true); if (json_last_error() === JSON_ERROR_NONE) { // Process JSON data print_r($data); } else { echo "JSON parsing error: " . json_last_error_msg(); echo "Raw response: " . $response; } } }
curl コマンドをコピー → 入力ボックスに貼り付け → 変換された PHP cURL コードを取得
true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_HTTPHEADER => [ "Authorization: Bearer YOUR_TOKEN_HERE", "Content-Type: application/json", "Accept: application/json" ], ]; // First request curl_setopt_array($curl, $options + [ CURLOPT_URL => "https://api.example.com/users", CURLOPT_CUSTOMREQUEST => "GET", ]); $response1 = curl_exec($curl); $err1 = curl_error($curl); // Second request with the same session curl_setopt_array($curl, $options + [ CURLOPT_URL => "https://api.example.com/products", CURLOPT_CUSTOMREQUEST => "GET", ]); $response2 = curl_exec($curl); $err2 = curl_error($curl); curl_close($curl); // Process responses $users = json_decode($response1, true); $products = json_decode($response2, true);
当社のツールは、これらの一般的な curl オプションを処理し、適切な PHP cURL コードに変換します:
A: 生成された PHP cURL コードは PHP 5.5 以上と互換性があります。古い PHP バージョンでは、特にファイルアップロードに使用される CURLFile クラスについて、軽微な調整が必要な場合があります。
A: はい、生成されたコードには cURL エラーの基本的なエラー処理が含まれています。本番環境のコードでは、アプリケーションのニーズに特化したより包括的なエラー処理を追加することをお勧めします。
A: JSON レスポンスの場合、json_decode() を使用してレスポンスを PHP 配列またはオブジェクトに解析します。他の形式の場合、必要に応じて生のレスポンス文字列を処理できます。
A: はい、PHP インストールで cURL 拡張機能を有効にする必要があります。最新の PHP インストールではデフォルトで cURL が有効になっています。ターミナルで php -m | grep curl
を使用して確認できます。
A: PHP でのファイルアップロードには、CURLFile クラスを使用する必要があります。当社のコンバーターは -F
または --form
オプションを含む curl コマンドを処理し、CURLFile を使用して適切な PHP コードを生成します。
A: PHP の cURL 拡張機能は Cookie 処理のためのオプションを提供しています。Cookie 処理を含む curl コマンド(-b
または --cookie
を使用)を変換すると、当社のツールは CURLOPT_COOKIE または CURLOPT_COOKIEFILE/CURLOPT_COOKIEJAR オプションを使用して Cookie を適切に管理する PHP コードを生成します。
A: コマンドライン curl は迅速な API テストに優れていますが、PHP cURL を使用すると HTTP リクエストを PHP アプリケーションに直接統合できます。curl を PHP に変換することで、PHP 開発におけるテストと実装のギャップを埋めるのに役立ちます。
PHP での効果的な API テストには curl コマンドを理解することが不可欠です。以下は、当社のコンバーターがサポートする一般的な curl オプションのクイックリファレンスです:
curl [options] [URL]
-X, --request METHOD
: Specify request method (GET, POST, PUT, DELETE, etc.)-H, --header LINE
: Add header to the request-d, --data DATA
: Send data in POST request-F, --form CONTENT
: Submit form data-u, --user USER:PASSWORD
: Server user and password-k, --insecure
: Allow insecure server connections-I, --head
: Show document info only-v, --verbose
: Make the operation more verbose-s, --silent
: Silent mode--connect-timeout SECONDS
: Maximum time for connection当社の PHP コンバーターは、複数のヘッダー、認証、データペイロード、さまざまなオプションを含む複雑な curl コマンドを処理します。curl コマンドを貼り付けるだけで、cURL 拡張機能を使用したクリーンでモダンな PHP コードを取得できます。
PHP cURL を使用する際は、効率的で安全な API 連携のために以下のベストプラクティスに従ってください:
2. 複数のオプションには curl_setopt_array を使用する
"https://api.example.com/data", CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => [ "Authorization: Bearer token123", "Accept: application/json" ], ]); $response = curl_exec($curl); curl_close($curl);3. 包括的なエラー処理を実装する
"https://api.example.com/data", CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_CUSTOMREQUEST => "GET", ]); $response = curl_exec($curl); $errno = curl_errno($curl); $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); if ($errno) { // Handle cURL errors switch ($errno) { case CURLE_OPERATION_TIMEDOUT: echo "Request timed out"; break; case CURLE_COULDNT_CONNECT: echo "Could not connect to server"; break; default: echo "cURL error ({$errno}): " . curl_strerror($errno); } } else if ($httpCode >= 400) { // Handle HTTP errors echo "HTTP error: {$httpCode}"; } else { // Process successful response $data = json_decode($response, true); // Continue processing... }