Agitez votre trafic avec Oseox, Plus de 400 cours gratuits.
Profitez de nos meilleurs conseils, Recevez notre newsletter pro !
Plusieurs utilisation des cookies avec CURL :
La définition de cookies se fait via l'option CURLOPT_COOKIE. Les cookies sont à passer sous forme de chaîne où chaque cookie est défini dans un format bien précis : nom_cookie=valeur_cookie;
<?php
// Définition manuelle de cookies
// Format d'un cookie : cookie_name=cookie_value;
curl_setopt($ch, CURLOPT_COOKIE, 'cookie1=val1; cookie2=val2; cookie3=val3; ');
?>
Voici une petite fonction pour faciliter l'ajout de multiples cookies à une requête CURL via un tableau PHP.
<?php
/*
$cookies_string = my_curl_set_cookies(array(
array('name' => 'cookie1', 'value' => 'val1'),
array('name' => 'cookie2', 'value' => 'val2'),
array('name' => 'cookie3', 'value' => 'val3')
));
curl_setopt($ch, CURLOPT_COOKIE, $cookies_string);
*/
function my_curl_set_cookies(Array $pCookies)
{
$r = '';
foreach ($pCookies as $cookie)
$r .= sprintf('%s:%s; ', $cookie['name'], $cookie['value'])
return $r;
}
?>
Il est possible de demander à CURL de stocker les cookies reçus dans un fichier afin de pouvoir les réutiliser ensuite (voir cours Authentification et sessions avec CURL). On indique le fichier à CURL via l'option CURLOPT_COOKIEJAR.
<?php
// Fichier dans lequel cURL va écrire les cookies
// (pour y stocker les cookies de session)
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies_file);
?>
Il est aussi possible de demander à CURL de lire directement les cookies dans un fichier et de les envoyer de façon automatique dans la requête, via l'option CURLOPT_COOKIEFILE.
De cette façon, vous pouvez par exemple écrire vos cookies dans un fichier afin de les envoyer ensuite sans les écrire directement dans le script.
<?php
// Fichier dans lequel cURL va lire les cookies
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies_file);
?>
Une question ? Venez la poser sur notre forum développement web !