Comment récupérer des cookies avec CURL et PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2020-10-18 18:49:56
Thèmes : webmaster - cookie - php - curl
Question

Comment puis-je récupérer les cookies d'un site web avec CURL et PHP ?

Réponse

Pour récupérer les cookies d'un site web, et les stocker dans une variable PHP, vous pouvez en effet utiliser CURL, et plus particulièrement les fonctions suivantes :

  • curl_init() pour initialiser un objet curl.
  • curl_setopt(objet, paramètre, valeur) pour définir les paramètres de l'objet.
  • curl_exec(objet) pour exécuter la session curl en cours.
  • preg_match_all(regExp, inputVariable, OutputVariable) pour effectuer une vérification d'expression régulière.

Voici un exemple pour récupérer les cookies du site google.fr :

<?php
$url = "https://www.google.fr/";
$objet = curl_init();
curl_setopt($objet, CURLOPT_URL, $url);
curl_setopt($objet, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($objet, CURLOPT_HEADER, 1);
curl_setopt($objet, CURLOPT_SSL_VERIFYPEER, false);
$execution = curl_exec($objet);
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $execution, $resultat);
$cookies = array();
foreach($resultat[1] as $item)
{
    parse_str($item, $cookie);
    $cookies = array_merge($cookies, $cookie);
}
print_r($cookies);
curl_close($objet);
?>