IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[cURL] Utilisation des cookies


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut [cURL] Utilisation des cookies
    bonjour,

    je developpe en ce moment un script PHP qui me permettrait de lire et d'agir sur un site web avec une interface plus pratique et confortable.
    pour cela j'essaye de recuperer certaines pages du site pour les modifier puis les afficher.
    avec le code suivant aucun probleme, je peux recuperer le contenu du site et l'afficher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    session_start(); 
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, "http://www.siteweb.com/");
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $fichier = curl_exec($curl);
    curl_close($curl); 
     
    echo $fichier;
    ?>




    le probleme vient du fait que l'on est obligé d'etre identifié pour acceder à certaines pages du site, pire, le site necessite un cookie pseudo et un cookie mot de passe pour accepter.
    j'aimerais donc transmettre des cookies vers le site pour qu'il accepte de me donner les pages.
    j'ai trouvé la fonction CURLOPT_COOKIE qui a l'air d'etre ce qu'il me faut, le probleme c'est que la doc sur elle est difficile a trouver et peu claire.
    quelqu'un peut-il m'expliquer le fonctionnement de CURLOPT_COOKIE et ses dérivés ? Ou même me mettre sur la voie pour le code dont j'ai besoin?

    merci d'avance pour vos reponses.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    pour utiliser cette option tu peux mettre comme valeur la même chose que tu as dans la variable $_SERVER['HTTP_COOKIE'] comme ça par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl_setopt($curl, CURLOPT_COOKIE, 'PHPSESSID=849a; nom1=valeur1; nom2=valeur2');

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut merci
    merci beaucoup pour ta reponse ca marche ^^
    du moins en partie ...
    la page affichée contient mon pseudo et mon image, signe que je suis connecté, mais il est inscrit dans le reste de la page "vous devez etre connecté pour acceder à cette page"
    j'ai essayé de renvoyer la valeur la valeur du $_SERVER['HTTP_COOKIE'] sous forme de cookie avec PHPSESSID = $_SERVER['HTTP_COOKIE'] mais ca ne marche pas non plus.
    au contraire je recois des messages d'erreur SQL du site concerné

    comment faire ?

    merci pour vos reponses.

    P.S.: merci encore pour ta reponse mathieu j'ai fait un bond de geant dans l'ecriture de mon code ^^

    P.S.² : voici mon code pour le moment (mon mp et le site sont remplacés par des traits de liaison.):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    session_start(); // ICI on active les variables de session
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, "http://www.-------.com/");
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
     
    $session=$_SERVER['HTTP_COOKIE'];
    $option=$session.'; mot_passe=-----------------------; pseudo=babooo11';
    //je crée une variable $option qui contient les valeurs
     
    curl_setopt($curl, CURLOPT_COOKIE, $option);
     
     
    $fichier = curl_exec($curl);
    curl_close($curl); 
     
    //plus tard je ferais mes modif sur $fichier ici
     
    echo $fichier; //j'affiche la page
    echo $option; //ca c'est un test pour voir si c'était bon ^^
    ?>
    et ca me donne un truc de ce style:

    ______
    |Image| babooo11
    |........|
    |_____|




    Erreur

    Vous n'êtes pas autorisé à venir sur cette page car vous n'êtes pas connecté !

    Pour vous connecter, allez sur le formulaire dans le menu ci-contre.

    Si vous ne pouvez plus vous connecter envoyer un message par ce formulaire : Contactez-nous
    4150 inscrits ! V 1.3.5. Il est 08h33.


    Warning: mysql_close(): no MySQL-Link resource supplied in /homez.33/meilleurn/www/-------/------.php on line 303
    PHPSESSID=70c16e943adf65ca3e358b72e3bf622f; mot_passe=--------------------; pseudo=babooo11

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 670
    Par défaut
    Citation Envoyé par babooo11 Voir le message
    j'ai essayé de renvoyer la valeur la valeur du $_SERVER['HTTP_COOKIE'] sous forme de cookie avec PHPSESSID = $_SERVER['HTTP_COOKIE']
    le cheminement des requêtes HTTP est le suivant :
    navigateur -> serveur -> site------.com
    donc le cookie renvoyé par le site ne se trouve pas dans $_SERVER['HTTP_COOKIE'] (cookie de ton navigateur)

    pour trouver le cookie envoyé par le site, tu peux regarder l'entête "Set-Cookie" envoyé par le serveur
    pour ça tu peux mettre l'option "CURLOPT_HEADER" à "TRUE"

Discussions similaires

  1. Utilisation des cookies
    Par achos dans le forum Statistiques
    Réponses: 4
    Dernier message: 24/08/2007, 17h21
  2. Utilisation des cookies Flash
    Par delavega dans le forum Flash
    Réponses: 9
    Dernier message: 31/03/2007, 15h24
  3. [cURL] Utilisation des cookies
    Par jpascal dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/02/2007, 03h05
  4. [cURL] utilisation des POSTFIELD
    Par norkius dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/01/2007, 16h32
  5. [Cookies] Utilisation des cookies
    Par baleiney dans le forum Langage
    Réponses: 4
    Dernier message: 07/07/2006, 20h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo