Convertir curl en PHP
curl2code convertit les commandes curl en code PHP à l'aide de l'extension cURL ou de la bibliothèque Guzzle. La conversion s'exécute dans votre navigateur via WebAssembly pour une confidentialité totale. Pour des langages côté serveur similaires, consultez notre convertisseur curl vers Python ou curl vers Ruby. Vous trouverez ci-dessous des exemples PHP pratiques.
Comment copier curl depuis votre navigateur
- 1
Ouvrir les DevTools
Appuyez sur F12 ou Ctrl+Shift+I pour ouvrir les outils de développement de votre navigateur.
- 2
Aller dans l'onglet Network
Cliquez sur l'onglet Network et effectuez l'action qui déclenche la requête HTTP.
- 3
Copier comme cURL
Faites un clic droit sur la requête → Copy → Copy as cURL. Collez-la ensuite ci-dessus.
Foire Aux Questions
Qu'est-ce que PHP cURL ?
L'extension curl de PHP est une interface autour de la bibliothèque C libcurl, offrant de puissantes capacités de client HTTP. Elle prend en charge pratiquement tous les protocoles et fonctionnalités supportés par curl lui-même. Initialisez avec curl_init(), définissez les options avec curl_setopt() et exécutez avec curl_exec(). curl2code prend également en charge Guzzle et Requests comme alternatives.
PHP cURL vs Guzzle vs Requests — lequel dois-je utiliser ?
PHP cURL est de bas niveau et intégré — pas besoin de Composer. Guzzle est le client HTTP PHP le plus populaire avec le support PSR-7, des middlewares et des requêtes asynchrones. Requests offre une API simple pour les tâches rapides. Utilisez Guzzle pour les projets modernes, PHP cURL pour les configurations minimales. Pour des options similaires dans d'autres langages, voir curl vers Python.
Comment gérer l'authentification en PHP ?
Avec cURL : curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token']). Pour l'authentification Basic : curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'). Guzzle utilise 'auth' => ['user', 'pass'] ou 'headers' => ['Authorization' => 'Bearer token']. curl2code gère automatiquement les drapeaux -u et Bearer.
Comment envoyer des données de formulaire multipart en PHP ?
Avec cURL : passez un tableau à CURLOPT_POSTFIELDS contenant new CURLFile('path') pour les fichiers. Guzzle utilise l'option 'multipart' avec des tableaux de champs/fichiers. curl2code convertit les drapeaux -F au format correct pour chaque variante de bibliothèque PHP.
Comment gérer les erreurs HTTP en PHP ?
Avec cURL : vérifiez curl_errno($ch) pour les erreurs de transport et analysez manuellement le statut de la réponse. Guzzle lève une RequestException en cas d'échec — capturez ClientException (4xx), ServerException (5xx) et ConnectException (réseau). Appelez toujours curl_close($ch) pour libérer les ressources.
Comment effectuer des requêtes HTTP asynchrones en PHP ?
Guzzle prend en charge l'asynchrone via $client->requestAsync('GET', $url) qui renvoie une Promesse. Utilisez Promise\Utils::all() pour les requêtes concurrentes. Avec cURL, utilisez les fonctions curl_multi_* pour une exécution parallèle. Pour du PHP véritablement asynchrone, considérez les frameworks ReactPHP ou Amp avec leurs clients HTTP.
Comment définir des délais d'attente en PHP ?
Avec cURL : CURLOPT_CONNECTTIMEOUT pour la connexion et CURLOPT_TIMEOUT pour le temps total de la requête. Guzzle accepte les options 'connect_timeout' et 'timeout' en secondes. Celles-ci correspondent directement aux options --connect-timeout et --max-time de curl.
Comment utiliser un proxy en PHP ?
Avec cURL : curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080'). Pour SOCKS5 : ajoutez CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5. Guzzle utilise l'option 'proxy' => 'http://proxy:8080'. curl2code convertit les drapeaux -x et --proxy vers le code PHP correspondant.
Comment envoyer une requête POST avec un corps JSON en PHP ?
Convertissez une commande curl POST comme curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL en PHP en utilisant curl2code. Le code généré utilise curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)). curl2code détecte automatiquement les drapeaux -d/--data avec du contenu JSON et définit l'en-tête Content-Type approprié dans le code cURL.
Comment ajouter une autorisation par jeton Bearer en PHP ?
Passez curl -H "Authorization: Bearer YOUR_TOKEN" URL à curl2code et il générera le code cURL avec l'en-tête d'authentification : curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']). curl2code détecte les jetons Bearer à partir des drapeaux -H "Authorization: Bearer ..." et --oauth2-bearer. Pour le Basic auth, utilisez -u user:pass.
Comment définir l''en-tête Content-Type en PHP ?
curl2code convertit curl -H "Content-Type: application/json" URL en code cURL avec l'en-tête approprié : curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']). Pour les données -d, curl utilise par défaut application/x-www-form-urlencoded ; pour les téléchargements de formulaires -F, il utilise multipart/form-data. curl2code associe chacun à l'API cURL correcte.
Extension PHP cURL vs Guzzle — laquelle devrais-je utiliser ?
L'extension PHP cURL (fonctions curl_*) est intégrée à PHP et ne nécessite aucune dépendance supplémentaire — idéale pour les requêtes simples ou lorsque vous voulez un minimum de surcharge. Guzzle est un client HTTP complet avec middleware, requêtes asynchrones, support PSR-7/PSR-18 et tentatives automatiques. Utilisez cURL pour les scripts légers, Guzzle pour les applications complexes. curl2code génère du code pour les deux — sélectionnez votre variante préférée dans le menu déroulant des langues.
Liens utiles
Guides curl
Codes d'erreur curl
Recherchez n'importe quel code de sortie curl — causes, corrections et astuces de débogage.
Télécharger des fichiers avec curl
Enregistrez des fichiers avec -o, -O, suivez les redirections, reprenez les téléchargements et plus encore.
SSL, TLS et proxy
Configurez les certificats, les versions TLS, les proxys HTTP/SOCKS et le DNS personnalisé.