Convertissez les commandes curl en code PHP - Générez du code PHP cURL prêt à l'emploi pour les requêtes 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; }
Voici quelques commandes curl courantes que vous pouvez convertir en code 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
L'extension cURL de PHP fournit un moyen puissant de faire des requêtes HTTP. Voici quelques modèles PHP cURL courants :
"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; } } }
Copiez votre commande curl → Collez-la dans la zone de saisie → Obtenez du code PHP cURL converti
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);
Notre outil gère ces options curl courantes et les convertit en code PHP cURL approprié :
R : Le code PHP cURL généré est compatible avec PHP 5.5 et versions ultérieures. Pour les versions plus anciennes de PHP, des ajustements mineurs peuvent être nécessaires, en particulier pour la classe CURLFile utilisée dans les téléchargements de fichiers.
R : Oui, le code généré inclut une gestion de base des erreurs pour les erreurs cURL. Pour le code de production, vous voudrez peut-être ajouter une gestion d'erreurs plus complète spécifique aux besoins de votre application.
R : Pour les réponses JSON, utilisez json_decode() pour analyser la réponse dans un tableau ou un objet PHP. Pour d'autres formats, vous pouvez traiter la chaîne de réponse brute selon vos besoins.
R : Oui, vous avez besoin de l'extension cURL activée dans votre installation PHP. La plupart des installations PHP modernes ont cURL activé par défaut. Vous pouvez vérifier avec php -m | grep curl
dans votre terminal.
R : Pour les téléchargements de fichiers en PHP, vous devrez utiliser la classe CURLFile. Notre convertisseur gère les commandes curl avec les options -F
ou --form
et génère le code PHP approprié utilisant CURLFile.
R : L'extension cURL de PHP fournit des options pour la gestion des cookies. Lorsque vous convertissez des commandes curl qui incluent la gestion des cookies (en utilisant -b
ou --cookie
), notre outil génère du code PHP qui gère correctement les cookies en utilisant les options CURLOPT_COOKIE ou CURLOPT_COOKIEFILE/CURLOPT_COOKIEJAR.
R : Alors que curl en ligne de commande est excellent pour des tests d'API rapides, PHP cURL vous permet d'intégrer directement les requêtes HTTP dans vos applications PHP. Convertir curl en PHP aide à combler le fossé entre les tests et l'implémentation dans le développement PHP.
Comprendre les commandes curl est essentiel pour des tests d'API efficaces avec PHP. Voici une référence rapide des options curl courantes que notre convertisseur prend en charge :
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 connectionNotre convertisseur PHP gère des commandes curl complexes, y compris plusieurs en-têtes, l'authentification, les charges utiles de données et diverses options. Il suffit de coller votre commande curl et d'obtenir un code PHP propre et moderne utilisant l'extension cURL.
Lorsque vous travaillez avec PHP cURL, suivez ces meilleures pratiques pour des interactions API efficaces et sécurisées :
2. Utiliser curl_setopt_array pour Plusieurs Options
"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. Implémenter une Gestion d'Erreurs Complète
"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... }