Curl komutlarını PHP koduna dönüştürün - API istekleri için kullanıma hazır PHP cURL kodu oluşturun
"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; }
İşte PHP koduna dönüştürebileceğiniz bazı yaygın curl komutları:
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'nin cURL uzantısı, HTTP istekleri yapmak için güçlü bir yol sağlar. İşte bazı yaygın PHP cURL kalıpları:
"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 komutunuzu kopyalayın → Giriş kutusuna yapıştırın → Dönüştürülmüş PHP cURL kodu alın
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);
Aracımız bu yaygın curl seçeneklerini işler ve uygun PHP cURL koduna dönüştürür:
C: Oluşturulan PHP cURL kodu, PHP 5.5 ve üzeri ile uyumludur. Daha eski PHP sürümleri için, özellikle dosya yüklemelerinde kullanılan CURLFile sınıfı için küçük ayarlamalar gerekebilir.
C: Evet, oluşturulan kod cURL hataları için temel hata işleme içerir. Üretim kodu için, uygulamanızın ihtiyaçlarına özgü daha kapsamlı hata işleme eklemek isteyebilirsiniz.
C: JSON yanıtları için, yanıtı bir PHP dizisi veya nesnesine ayrıştırmak için json_decode() kullanın. Diğer formatlar için, ham yanıt dizesini gerektiği gibi işleyebilirsiniz.
C: Evet, PHP kurulumunuzda cURL uzantısının etkinleştirilmiş olması gerekir. Çoğu modern PHP kurulumunda cURL varsayılan olarak etkindir. Terminalinizde php -m | grep curl
ile kontrol edebilirsiniz.
C: PHP'de dosya yüklemeleri için CURLFile sınıfını kullanmanız gerekir. Dönüştürücümüz, -F
veya --form
seçenekleri içeren curl komutlarını işler ve CURLFile kullanarak uygun PHP kodunu oluşturur.
C: PHP'nin cURL uzantısı, çerez yönetimi için seçenekler sağlar. Çerez yönetimi içeren curl komutlarını (-b
veya --cookie
kullanarak) dönüştürdüğünüzde, aracımız CURLOPT_COOKIE veya CURLOPT_COOKIEFILE/CURLOPT_COOKIEJAR seçeneklerini kullanarak çerezleri düzgün şekilde yöneten PHP kodu oluşturur.
C: Komut satırı curl hızlı API testi için mükemmelken, PHP cURL HTTP isteklerini doğrudan PHP uygulamalarınıza entegre etmenizi sağlar. Curl'u PHP'ye dönüştürmek, PHP geliştirmede test ve uygulama arasındaki boşluğu kapatmaya yardımcı olur.
PHP ile etkili API testi için curl komutlarını anlamak gereklidir. İşte dönüştürücümüzün desteklediği yaygın curl seçeneklerinin hızlı bir referansı:
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 connectionPHP dönüştürücümüz, birden fazla başlık, kimlik doğrulama, veri yükleri ve çeşitli seçenekler dahil karmaşık curl komutlarını işler. Curl komutunuzu yapıştırmanız yeterlidir ve cURL uzantısını kullanan temiz, modern PHP kodu alın.
PHP cURL ile çalışırken, verimli ve güvenli API etkileşimleri için bu en iyi uygulamaları izleyin:
2. Birden Fazla Seçenek için curl_setopt_array Kullanın
"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. Kapsamlı Hata İşleme Uygulayın
"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... }