Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
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/12/2007, 17h56   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Par défaut [cURL] Non prise en compte des cookies avec librairie curl

Bonjour.

Je récupère des pages web avec la librairie curl.

Certaines necessitent la prise en compte de cookies pour avoir un affichage des côtes au format décimal..

Voici une partie de mon script :
Code :
1
2
3
4
5
6
7
8
9
10
11
$fp = fopen($localfile, "w");
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// curl_setopt($ch, CURLOPT_COOKIEFILE, $file);
// curl_setopt($ch, CURLOPT_COOKIEJAR, $file);
// curl_setopt($ch, CURLOPT_REFERER, $domaine);
curl_exec($ch);
curl_close($ch);
fclose($fp);
J'active ou nom les lignes commentées selon les pages à récupérer.

J'ai malheureusement un problème avec cette page :
http://www.ladbrokes.com/lbr_sports?...SPORTS&hc1=144

Malgrés la présence de $file qui contient :
Code :
1
2
3
4
5
.ladbrokes.com	TRUE	/	FALSE	32504284790	FLAGS	en|en|uk|default|DECIMAL|0|EUR
www.ladbrokes.com	FALSE	/	FALSE	1198933277	flash_version	6
www.ladbrokes.com	FALSE	/	FALSE	1227912807	SYS_SOURCE	OBS_WEB
www.ladbrokes.com	FALSE	/	FALSE	1577836800	CP	null*
www.ladbrokes.com	FALSE	/	FALSE	32504284793	LANG	en
la page récupérée affiche les côtes au format FRACTION et non DECIMAL (spécifié dans le cooky).

Merci à la personne qui pourra me donner la solution ou simplement la commande qu'il me manque.
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2007, 18h19   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Après avoir copier/coller le contenu du cookie donné plus haut dans un fichier cookie.txt au même niveau que le script suivant :
Code :
1
2
3
4
5
<?php
$ch = curl_init('http://www.ladbrokes.com/lbr_sports?action=go_generic_link&level=TYPE&key=110000914&category=SPORTS&hc1=144');
curl_setopt($ch, CURLOPT_COOKIEFILE, realpath('cookie.txt'));
curl_exec($ch);
curl_close($ch);
J'obtiens :
Code X :
1
2
3
Sunday 2nd of December, 2007  	
  New Jersey Devils vs Atlanta Thrashers
1.95 		New Jersey Devils 	4.20 		Draw 	3.10 		Atlanta Thrashers 	  	22:00
(ceci n'étant qu'un extrait)
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2007, 20h06   #3
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Merci julp, grâce à toi j'ai compris mon erreur.

En fait je n'utilisais pas realpath() mais je spécifiais $path . $file pour le cookie.
Or ce fameux $path a changé entre temps.
Défini auparavant sur c:\toto, il est passé à c:\loulou (exemple).

'CURLOPT_COOKIEFILE' ne trouvait donc pas le bon fichier.

Par contre, les lignes suivantes fonctionnait :
Code :
1
2
curl_setopt($ch, CURLOPT_COOKIEJAR, $localpath . $cookiefile . '.txt');
curl_exec($ch);
alors que $localpath n'existait pas !
Comment curl_setopt() peut-elle créer un fichier dans un chemin qui n'existe pas ???

Moralité, toujours utiliser realpath() plutôt que de spécifier le chemin en dur.

Merci.
jpascal 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 07h44.


 
 
 
 
Partenaires

Hébergement Web