utilisation de SSL et des cookies
SSL
L'utilisation de SSL dans cURL est simple. Il suffit de remplacer http:// par https:// lorsqu'on définit l'URL avec CURLOPT_URL. L'option CURLOPT_SSL_VERIFYHOST permet de vérifier l'existance d'un "common name" dans le certificat (si CURLOPT_SSL_VERIFYHOT = 1). Si on définit l'option à 2 on vérifie alors que le "common name" définit dans le certificat correspond bien au HOSTNAME du serveur distant. CURLOPT_SSLVERSION permet de définir quelle version de SSL utiliser (2 ou 3). Normalement ceci est automatiquement géré par PHP.
Cookies
cURL supporte également les cookies. L'utilisation des cookies avec cURL est très simple. Il existe trois options: CURLOPT_COOKIE, CURLOPT_COOKIEJAR, et CURLOPT_COOKIEFILE. CURLOPT_COOKIE est utilisé pour définir un cookie pour la session en cours. CURLOPT_COOKIEJAR enregistrera l'emplacement d'un fichier destiné à recevoir le cookie une fois la session terminée. CURLOPT_COOKIEFILE fait la même chose que CURLOPT_COOKIEJAR pour les cookies écrit au format Netscape ou "raw HTTP header".
Note: Cette article est une traduction. Pour voir l'original en anglais cliquez-ici
3 commentaires:
bonjour,
merci pour ton tuto ! J'aimerais enchainer avec php/curl 2 requetes successives vers un site distant : la première est un login (via un formulaire) sur ce site qui renvoie (entre autres choses) un cookie de session, la 2eme etant une autre requete POST qui n'est acceptée que si je passe le cookie de session.
Je vois bien comment passer le cookie avec :
curl_setopt($ch, CURLOPT_COOKIE, $this_cookie);
mais comment récupérer le cookie quand il est envoyé par le serveur en réponse à ma première requête.
Peux-tu m'éclairer sur ce point ?
(re-moi) J'ai vu que ton tuto n'était que la traduction du tuto ici : http://www.higherpass.com/php/Tutorials/Using-Curl-To-Query-Remote-Servers/
il aurait été sympa de le signaler.
Par ailleurs, tu reproduis la même erreur que sur le tuto d'origine :
$data = curl_exec();
au lieu de :
$data = curl_exec($ch);
de mon côté j'ai trouvé la réponse à ma question : il suffit de parser la réponse $data pour retrouver la chaine "Set-Cookie:" et la valeur qui vient après.
Hello,
Merci pour les commentaires. En effet il s'agit bien de la traduction d'un tutorial existant mais j'avais perdu la source ... Je corrigerai çà au plus vite.
Enregistrer un commentaire