Tukar arahan curl kepada kod PHP - Jana kod PHP cURL sedia untuk digunakan 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 arahan curl biasa yang boleh anda tukar kepada kod 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
Sambungan PHP cURL menyediakan cara yang berkuasa untuk membuat permintaan HTTP. Berikut adalah beberapa corak PHP cURL yang biasa:
"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 arahan curl anda → Tampal ke dalam kotak input → Dapatkan kod PHP cURL yang ditukar
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 mengendalikan pilihan curl biasa ini dan menukarkannya kepada kod PHP cURL yang sesuai:
J: Kod PHP cURL yang dihasilkan serasi dengan PHP 5.5 dan ke atas. Untuk versi PHP yang lebih lama, penyesuaian kecil mungkin diperlukan, terutamanya untuk kelas CURLFile yang digunakan dalam muat naik fail.
J: Ya, kod yang dihasilkan termasuk pengendalian ralat asas untuk ralat cURL. Untuk kod produksi, anda mungkin ingin menambah pengendalian ralat yang lebih komprehensif khusus untuk keperluan aplikasi anda.
J: Untuk respons JSON, gunakan json_decode() untuk mengurai respons ke dalam tatasusunan atau objek PHP. Untuk format lain, anda boleh memproses rentetan respons mentah mengikut keperluan.
J: Ya, anda memerlukan sambungan cURL diaktifkan dalam pemasangan PHP anda. Kebanyakan pemasangan PHP moden mempunyai cURL diaktifkan secara lalai. Anda boleh memeriksa dengan php -m | grep curl
di terminal anda.
J: Untuk muat naik fail dalam PHP, anda perlu menggunakan kelas CURLFile. Penukar kami mengendalikan arahan curl dengan pilihan -F
atau --form
dan menjana kod PHP yang sesuai menggunakan CURLFile.
J: Sambungan PHP cURL menyediakan pilihan untuk pengendalian kuki. Apabila anda menukar arahan curl yang termasuk pengendalian kuki (menggunakan -b
atau --cookie
), alat kami menjana kod PHP yang menguruskan kuki dengan betul menggunakan pilihan CURLOPT_COOKIE atau CURLOPT_COOKIEFILE/CURLOPT_COOKIEJAR.
J: Walaupun curl baris arahan sangat baik untuk ujian API yang cepat, PHP cURL membolehkan anda mengintegrasikan permintaan HTTP secara langsung ke dalam aplikasi PHP anda. Menukar curl kepada PHP membantu merapatkan jurang antara ujian dan pelaksanaan dalam pembangunan PHP.
Memahami arahan curl adalah penting untuk ujian API yang berkesan dengan PHP. Berikut adalah rujukan pantas pilihan curl biasa yang disokong oleh penukar 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 connectionPenukar PHP kami mengendalikan arahan curl kompleks termasuk pelbagai pengepala, pengesahan, muatan data, dan pelbagai pilihan. Hanya tampal arahan curl anda dan dapatkan kod PHP yang bersih dan moden menggunakan sambungan cURL.
Apabila bekerja dengan PHP cURL, ikuti amalan terbaik ini untuk interaksi API yang cekap dan selamat:
2. Gunakan curl_setopt_array untuk Pelbagai Pilihan
"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. Laksanakan Pengendalian Ralat 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... }