Guide de Conversion cURL vers PHP

Charger Exemple:
POST → api.example.com
<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => 'https://api.example.com/v1/orders',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'Authorization: Bearer sec_tok_99887766'
    ],
    CURLOPT_POSTFIELDS => json_encode({
    "order_id": "ORD-5021",
    "amount": 149.99,
    "currency": "USD",
    "items": [
        {
            "sku": "A10",
            "qty": 2
        }
    ]
})
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #: " . $err;
} else {
    echo $response;
}
Méthode HTTPPOST
Hôte Cibleapi.example.com
Nb En-têtes2 Headers
Taille Payload98 bytes

100% Client-Side Privacy

Your API keys, Bearer tokens, passwords, and sensitive production URLs are parsed exclusively inside your local browser memory.

Multi-Client Engine Support

Transpile command lines into Native ext-curl, GuzzleHttp 7+, Laravel 9/10/11 Http Client, or WordPress remote API syntax.

Full Option Parity

Handles HTTP Basic Auth (-u), custom headers (-H), JSON payloads (-d), timeouts, redirect following (-L), and insecure SSL (-k).

Référence technique et guide d'architecture

Guide de Conversion cURL vers PHP — Guide de référence

Guide technique pour convertir les lignes de commande cURL en requêtes PHP robustes avec curl_init natif, Guzzle, Laravel Http et WordPress.

Paramètres clés et contrôles

CURLOPT_URLstring

URL cible incluant le protocole et les paramètres de requête.

CURLOPT_RETURNTRANSFERbool (true)

Retourne le transfert sous forme de chaîne au lieu de l'afficher directement.

CURLOPT_POSTFIELDSstring | array

Données envoyées dans le corps de la requête.

Conseils de pro et bonnes practices

Définissez systématiquement un timeout pour éviter de bloquer vos processus PHP-FPM.

Privilégiez Guzzle ou Laravel Http pour une gestion modulaire et testable.

Ne désactivez jamais CURLOPT_SSL_VERIFYPEER en environnement de production.

Pièges courants et dépannage

Installez le fichier cacert.pem et configurez curl.cainfo dans votre fichier php.ini.

Vérifiez que l'en-tête Content-Type: application/json est bien présent dans CURLOPT_HTTPHEADER.

Foire aux questions (FAQ)

Mes identifiants sont-ils transmis à un serveur tiers ?▼

Non. La conversion syntaxique s'exécute intégralement dans votre navigateur en JavaScript.

Quels clients HTTP PHP sont pris en charge ?▼

cURL natif, GuzzleHttp\Client, la façade Http de Laravel et WordPress wp_remote_post.

Le code fonctionne-t-il avec PHP 8.2 et 8.3 ?▼

Oui, le code généré est pleinement conforme avec PHP 7.4 jusqu'à PHP 8.3+.

Les redirections HTTP sont-elles suivies ?▼

Oui, le paramètre -L de cURL est automatiquement traduit en CURLOPT_FOLLOWLOCATION.

Outils et utilitaires connexes

Tous les outils →