Bonjour Dans une page php j'initialise une session curl afin de réaliser une requête POST. Je ne ferme pas cette session car je souhaite la réutiliser dans une autre page php. Pour cela je place l'id de la session dans un fichier temporaire que j'ouvre dans la deuxième page pour extraire l'id. Problème : lorsque j'exécute la deuxième page il n'a pas l'air de reconnaître l'id de la session curl ouverte sur la première page puisque j'ai des gros messages d'erreurs en retour. Peut on le faire cette manière ? Est-ce possible?
Marsh Posté le 21-08-2007 à 09:30:48
Bonjour
Dans une page php j'initialise une session curl afin de réaliser une requête POST. Je ne ferme pas cette session
car je souhaite la réutiliser dans une autre page php.
Pour cela je place l'id de la session dans un fichier temporaire que j'ouvre dans la deuxième page pour extraire l'id.
Problème : lorsque j'exécute la deuxième page il n'a pas l'air de reconnaître l'id de la session curl ouverte sur la première page puisque j'ai des gros messages d'erreurs en retour.
Peut on le faire cette manière ? Est-ce possible?
première page ---------
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" );
curl_setopt($ch, CURLOPT_ENCODING, "gzip,deflate" );
curl_setopt($ch, CURLOPT_REFERER,"http://monsite/login.aspx" );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "Cwamp/www/cookie1.txt" );
curl_setopt($ch, CURLOPT_COOKIEFILE, "Cwamp/www/cookie1.txt" );
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1); //On prépare le POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_URL, "http://monsite/login.aspx" );
$result = curl_exec($ch);
$fcurl = fopen("curlid","w" );
fputs($fcurl, $ch); // on écrit l'id de la session curl dans le fichier curlid
fclose($fcurl);
deuxième page----------
//extraire l'id de la session curl
$fcurl = fopen("curlid","r" );
$ch = fgets($fcurl, 50);
curl_setopt($ch, CURLOPT_URL, $link );
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
//curl_setopt($ch, CURLOPT_COOKIE 'cookie1.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'Cwamp/www/cookie1.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'Cwamp/www/cookie1.txt');
//curl_setopt ($ch, CURLOPT_GET, 1);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_FILE, $fp);
$result = curl_exec ($ch);
Message édité par dced le 21-08-2007 à 14:21:59