Rechercher : dans
Par :

Récupération de données avec curl

owind, le 8 jui 2009 à 19:34:57 
 Signaler ce message aux modérateurs

Bonjour,
Voilà, je dois créer un script qui permet au visiteur de rentrer le pseudo et le mot de passe de son compte sur Zikle.fr et d'avoir le nombre de crédits qu'il a sur son compte après avoir envoyer le formulaire avec ses identifiants.
Donc voilà mon script :

<h1>Obtenir le nombre de Crédits sur son compte Zikle</h1>

<form action="" method="post">
<p>
Pseudo : <input type="text" name="pseudo" /><br />
Mot de passe : <input type="password" name="password" /><br />
<input type="submit" value="Caluculer les crédits" />
</p>
</form>
<?php
if($_POST['pseudo'] != '' AND $_POST['password'] != '')
{
    function getCredits($login,$password)
    {
        $cookie = $login.'.cookie';
        
        $url = 'http://www.zikle.fr/?p=login';
        $params = '&usr_name='.$login;
        $params.= '&usr_password='.$password;
        $params.= '&usr_cookietime="0"';

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
        $data = curl_exec($ch);
        curl_close($ch);

        $ch2 = curl_init();
        curl_setopt($ch2, CURLOPT_URL, "http://www.zikle.fr/?p=admin");
        curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie);
        $data = curl_exec($ch2);
        curl_close($ch2);

        preg_match('#<img src="/images/icon/credit.gif" height="16" width="16"> ([0-9]+)#', $data, $credits);
        $credits = $credits[1];
        @unlink($cookie);
        return $credits;
    }
    $credits = getCredits($_POST['pseudo'],$_POST['password']);
    
    echo '<p>
    Le nombre de crédit(s) sur le compte '.$_POST['pseudo'].' est '.$credits.'</p>';

}
?>



Voilà le code source de la page http://zikle.fr/?p=login (seulement la partie concernée) :
<form action="" method="post" name="login" class="bigForm">
<label for="usr_name">Identifiant:</label>
<input name="usr_name" id="usr_name" size="42" value="" type="text"><br />
<label for="usr_password">Mot de passe:</label>
<input name="usr_password" id="usr_password" size="42" maxlength="255" type="password"><br />
<label for="usr_cookietime">Combien de temps veux-tu rester connecté?:</label>
<select name="usr_cookietime" id="usr_cookietime">
<option value="">-</option>
<option value="0" selected="selected">Je ne veux pas rester connecté</option>
<option value="1247157457">Pour 24 heures</option>
<option value="1247675857">Pour une semaine</option>
<option value="1283071057">Pour toujours</option>
</select><br />
<input name="" class="submit" value="Se connecter" type="submit">
<input name="submitted" value="1" type="hidden">
</form>


Maintenant voilà le code source de http://zikle.fr/?p=admin (seulement partie concernée) :
<img src="/images/icon/credit.gif" height="16" width="16"> 974 <a href="/?p=credits">Crédits</a>


Le problème:
J'ai failli oublier de le dire ;) Le problème est que mon script retourne ceci :
"Le nombre de crédit(s) sur le compte trucmuch est "
Aucun nombre ! :o

Il n'y a qu'une seule partie de mon script ou j'ai vraiment fait du copier coller sans faire attention car je ne savait pas quoi modifier/enlever (surtout COOKIEJAR et COOKIEFILE) :
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
$data = curl_exec($ch);
curl_close($ch);
Configuration: Windows Vista
Firefox 3.5

Meilleures réponses pour « Récupération de données avec curl » dans :
Récupérez vos données endommagées d'un CD/DVD VoirRécupérer des données endommagées d'un CD/DVD avec CDCheck D'abord rendez-vous au lien de téléchargement CDCheck. Le logiciel gratuit de Mitja Perko, analyse les données d'un CD/DVD et les récupére facilement. Mettre CDCheck en...
Console de récupération Vista sur CD bootable VoirJe laisse cette adresse pour ceux qui possèdent un PC de marque, et qui cherchent une solution de dépannage en mode console pour Vista. Pour ceux qui possèdent un PC de marque avec juste un CD ou DVD de restauration "Recovery", voilà une solution...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Collection CommentÇaMarche.net