Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/07/2011, 10h44   #1
Invité de passage
 
Inscription : juin 2008
Messages : 25
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 25
Points : 3
Points : 3
Par défaut probleme CURL et cookie

Bonjour à tous,

voila j'ai un petit probleme de cURL.

Je dois recuperer le contenu d'une page web, mais je dois faire suivre ma session en meme temps, j'ai donc utilisé cURL

Code :
1
2
3
4
5
6
7
8
9
10
 
$ch = curl_init();
$timeout = 0;
curl_setopt($ch, CURLOPT_URL, 'http://www.bidule.org');
curl_setopt($ch, CURLOPT_COOKIE, 'SMFCookie89=cookie_que_firebug_me_donne;');
curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID=cookie_que_firebug_me_donne;');
curl_setopt($ch, CURLOPT_COOKIE, 'admin=cookie_que_firebug_me_donne;');
 
$file_contents = curl_exec($ch);
curl_close($ch);
malgré ca, je n'arrive pas a faire suivre ma session, et j'etais sur que ce code marchait.

Qqn aurait une idée svp?

merci d'avance
eldana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 10h51   #2
Invité de passage
 
Inscription : juin 2008
Messages : 25
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 25
Points : 3
Points : 3
ok, probleme resolu, je comprend pas le différence de code, si qqn peut m'eclairer, mon code est devenu comme ca:

Code :
1
2
3
4
5
6
7
8
9
 
 
$ch = curl_init();
$timeout = 50; // set to zero for no timeout
curl_setopt($ch, CURLOPT_URL, 'http://www.bidule.org');
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID=valeur; SMFCookie89=valeur; admin=valeur;');
$file_contents = curl_exec($ch);
curl_close($ch);
eldana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 11h49   #3
Membre du Club
 
Avatar de aysheaia
 
E L
Inscription : juin 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : E L
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 19
Points : 62
Points : 62
Quand un client renvoie les cookies qui lui ont été transmis par un serveur, il utilise l'en-tête HTTP "Cookie:" et les doit les mettre les uns après les autres, séparés par des ";".

http://tools.ietf.org/html/rfc2109#section-4.3.4 :
If multiple cookies satisfy the criteria above, they are ordered in
the Cookie header such that those with more specific Path attributes
precede those with less specific. Ordering with respect to other
attributes (e.g., Domain) is unspecified.

http://tools.ietf.org/html/rfc6265#section-4.2.1 :
cookie-string = cookie-pair *( ";" SP cookie-pair )

C'est différent du fonctionnement de l'en-tête HTTP "Set-Cookie", qui permet à un serveur d'envoyer des cookies aux clients. C'est peut-être ça qui t'a induit en erreur.
aysheaia est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/07/2011, 12h03   #4
Invité de passage
 
Inscription : juin 2008
Messages : 25
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 25
Points : 3
Points : 3
ah ok, c'est donc ca, et petite question pourquoi mon curl_exec me retourne 1 et non pas le contenu de la page, alors que celle si s'affiche sur mon browser?
eldana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 12h43   #5
Membre du Club
 
Avatar de aysheaia
 
E L
Inscription : juin 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : E L
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 19
Points : 62
Points : 62
(lib/PHP)curl fonctionne par étapes :
- Fixation des "options", selon les besoins : URL, niveau de verbosité, fichier dans lequel stocker le résultat, récupération des en-têtes ou pas, éléments d'authentification, ...
- Exécution de la récupération des données

Le résultat de la fonction PHP curl_exec est juste un booléen (cf. http://www.php.net/manual/en/function.curl-exec.php). Les caractéristiques de l'endroit et de la façon dont le contenu de la page demandée doivent être précisées lors de la fixation des "options".

La liste des options supportées par PHP-curl est indiquée dans http://www.php.net/manual/en/function.curl-setopt.php
Pour stocker le contenu d'une page dans un fichier, il faut utiliser l'option CURLOPT_FILE.
Exemple : http://www.php.net/manual/en/curl.examples-basic.php
aysheaia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2011, 12h48   #6
Invité de passage
 
Inscription : juin 2008
Messages : 25
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 25
Points : 3
Points : 3
en effet, je m'en suis rendu compte juste apres avoirposté,.... quel gland

merci à toi, du coup j'ai pu coder mon algo de decryptage de César
eldana est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h10.


 
 
 
 
Partenaires

Hébergement Web