Konversi perintah curl ke kode PHP - Hasilkan kode PHP cURL siap pakai untuk permintaan API
"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; }
Berikut adalah beberapa perintah curl umum yang dapat Anda konversi ke kode PHP:
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
Ekstensi cURL PHP menyediakan cara yang kuat untuk membuat permintaan HTTP. Berikut adalah beberapa pola PHP cURL yang umum:
"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; } } }
Salin perintah curl Anda → Tempel ke kotak input → Dapatkan kode PHP cURL yang dikonversi
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);
Alat kami menangani opsi curl umum ini dan mengkonversinya ke kode PHP cURL yang sesuai:
J: Kode PHP cURL yang dihasilkan kompatibel dengan PHP 5.5 dan di atasnya. Untuk versi PHP yang lebih lama, penyesuaian kecil mungkin diperlukan, terutama untuk kelas CURLFile yang digunakan dalam unggahan file.
J: Ya, kode yang dihasilkan mencakup penanganan kesalahan dasar untuk kesalahan cURL. Untuk kode produksi, Anda mungkin ingin menambahkan penanganan kesalahan yang lebih komprehensif sesuai dengan kebutuhan aplikasi Anda.
J: Untuk respons JSON, gunakan json_decode() untuk mengurai respons menjadi array atau objek PHP. Untuk format lain, Anda dapat memproses string respons mentah sesuai kebutuhan.
J: Ya, Anda memerlukan ekstensi cURL yang diaktifkan di instalasi PHP Anda. Sebagian besar instalasi PHP modern memiliki cURL yang diaktifkan secara default. Anda dapat memeriksa dengan php -m | grep curl
di terminal Anda.
J: Untuk unggahan file di PHP, Anda perlu menggunakan kelas CURLFile. Konverter kami menangani perintah curl dengan opsi -F
atau --form
dan menghasilkan kode PHP yang sesuai menggunakan CURLFile.
J: Ekstensi cURL PHP menyediakan opsi untuk penanganan cookie. Ketika Anda mengkonversi perintah curl yang menyertakan penanganan cookie (menggunakan -b
atau --cookie
), alat kami menghasilkan kode PHP yang mengelola cookie dengan benar menggunakan opsi CURLOPT_COOKIE atau CURLOPT_COOKIEFILE/CURLOPT_COOKIEJAR.
J: Sementara curl command-line sangat baik untuk pengujian API cepat, PHP cURL memungkinkan Anda mengintegrasikan permintaan HTTP langsung ke dalam aplikasi PHP Anda. Mengkonversi curl ke PHP membantu menjembatani kesenjangan antara pengujian dan implementasi dalam pengembangan PHP.
Memahami perintah curl sangat penting untuk pengujian API yang efektif dengan PHP. Berikut adalah referensi cepat opsi curl umum yang didukung konverter kami:
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 connectionKonverter PHP kami menangani perintah curl kompleks termasuk beberapa header, autentikasi, muatan data, dan berbagai opsi. Cukup tempel perintah curl Anda dan dapatkan kode PHP yang bersih dan modern menggunakan ekstensi cURL.
Saat bekerja dengan PHP cURL, ikuti praktik terbaik ini untuk interaksi API yang efisien dan aman:
2. Gunakan curl_setopt_array untuk Beberapa Opsi
"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. Implementasikan Penanganan Kesalahan Komprehensif
"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... }