Une fois PHP compilé avec le support cURL, il est possible de commencer à utiliser les fonctions cURL. La première des choses à faire est d'initialiser une session cURL avec la fonction curl_init(), puis, il est possible de définir toutes les options pour le transfert avec la fonction curl_setopt(), et enfin, il est possible d'exécuter la session avec curl_exec().
Voici un exemple simple qui utilise les fonctions cURL pour envoyer une requête POST :
Exemple #1 Utilisation du module cURL de PHP pour envoyer une requête POST
<?php
$data = ['foo' => 'bar', 'baz' => 48];
$url = "http://www.example.com/handler.php";
$ch = curl_init($url);
// demande à CURL de retourner la réponse au lieu de l'envoyer sur la sortie standard
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// définit les données POST, la méthode correspondante et les en-têtes
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
// envoie la requête et récupère la réponse
$response = curl_exec($ch);
if(curl_error($ch)) {
// traite l'erreur, ou simplement
throw new RuntimeException(curl_error($ch));
}Un autre exemple qui utilise les fonctions cURL pour envoyer une requête POST avec du JSON brut :
Exemple #2 Utilisation du module cURL de PHP pour envoyer une requête POST JSON
<?php
$post_data = ['foo' => 'bar', 'baz' => 48];
$url = "http://www.example.com/api/endpoint";
$ch = curl_init($url);
// demande à CURL de retourner la réponse au lieu de l'envoyer sur la sortie standard
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// définit les données POST et la méthode correspondante
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
// définit l'en-tête requis
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
// envoie la requête et récupère la réponse
$response = curl_exec($ch);
if(curl_error($ch)) {
// traite l'erreur, ou simplement
throw new RuntimeException(curl_error($ch));
}Voici un autre exemple qui utilise les fonctions cURL pour récupérer la page d'accueil du site example.com dans un fichier :
Exemple #3 Utilisation du module cURL pour récupérer la page d'accueil d'example.com
<?php
$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
if(curl_error($ch)) {
fwrite($fp, curl_error($ch));
}
fclose($fp);