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

Langage PHP Discussion :

aide sur l'utilisation du curl


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut aide sur l'utilisation du curl
    Bonsoir tout le monde ,
    je veut accéder avec php à une page qui nécessite une authentification et télécharger son code htlm ( fopen("http://exemple.com/id=2345") ) .
    Avec curl j'ai réussis à faire l'authentification sur la page http://exeple.com/login.php et le fichier cookie.txt est créer et rempli mais après je trouve pas comment utiliser le cookie , après l'exécution de curl , j'ai fait un fopen mais je télécharge la page qui me dit que je doit être connecter pour voir la page ...


    voici le code que j'ai écrit :

    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
    24
    25
    26
    27
    28
    29
    30
    31
     
    function login($lurl,$postfields)
    {
     
    $header_array[0] = "Keep-Alive: 300";
    $header_array[1] = "Connection: Keep-Alive";
    $header_array[2] = "Expect:";
    $agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$lurl);
    curl_setopt($ch, CURLOPT_POST,1);
    curl_setopt($ch, CURLOPT_HEADER,0);
    curl_setopt($ch, CURLOPT_HTTPHEADER,$header_array);
    curl_setopt($ch, CURLOPT_USERAGENT,$agent);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_COOKIEJAR,'cookie.txt');
    $result= curl_exec($ch);
    curl_close ($ch);
     
    $hostfile = fopen("http://exemple.com/id=2345", 'r');
    $fh = fopen("out.html", 'w');
     
    while (!feof($hostfile)) {
        $output = fread($hostfile, 8192);
        fwrite($fh, $output);
    }
     
    fclose($hostfile);
    fclose($fh);
    Merci beaucoup d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    En passant par la fonctionnalité allow_url_fopen, il faut redéfinir le contexte (fonction stream_context_create) pour définir l'entête Cookie. Et seul cURL saurait directement relire/exploiter le fichier que vous avez créé avant (option CURLOPT_COOKIEFILE cette fois).

    Le code est incomplet et la démarche semble erronée. Le plus simple serait, je pense, de refaire une requête HTTP via cURL pour faire valoir le(s) cookie(s) précédemment obtenu(s) de cURL lors de l'identification.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    merci pour votre réponse ,
    désoler mais j'ai oublier de dire que je suis vraiment très débutant donc j'ai pas trop compris ce que vous m'avais écrit
    Au lieu de faire un fopen je doit utiliser un autre curl ?
    Merci

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Oui (au besoin, il y en a des exemples sur ce même forum - effectuer une recherche sur les options COOKIE_* - ou ici).

Discussions similaires

  1. Aide sur l'utilisation des boutons
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 0
    Dernier message: 24/06/2010, 10h55
  2. Besoin d'aide sur l'utilisation de Proximity
    Par ChtiGeeX dans le forum Maven
    Réponses: 2
    Dernier message: 06/02/2009, 16h24
  3. [SimpleXML] Utilisation
    Par Hightuxdotnet dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 20/08/2008, 10h52
  4. Réponses: 1
    Dernier message: 06/09/2006, 14h21
  5. Aide sur l'utilisation du composant TupdateSQL avec Tquery
    Par mezianewanadoo dans le forum Bases de données
    Réponses: 1
    Dernier message: 24/06/2006, 18h17

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