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] Tester le temps de la dernière requête avec cURL


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 101
    Par défaut [cURL] Tester le temps de la dernière requête avec cURL
    Boinjour,

    je fais des requêtes à un serveur avec curl.

    je fais une requête pour m'authentifier, et je voudrais le faire seulement toutes les 10 minutes.

    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
     
     $ch = curl_init();
     
      curl_setopt($ch, CURLOPT_URL,$url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_TIMEOUT, 4);
      curl_setopt($ch, CURLOPT_COOKIEJAR, "\tmp\cookie.txt");
      curl_setopt($ch, CURLOPT_COOKIEFILE, "\tmp\cookie.txt");	
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
     
    $data = curl_exec($ch);
      #print_r $data;
      if (curl_errno($ch)) {
        print curl_error($ch);
        return false;
      }
     
     return $ch;
    avant de faire le curl_exec, je dois regarder depuis combien de temps la derniere requete a été effectuée.
    Si ca fait moins de 10 minutes, récuperer $ch ( CURL Handle authenticated ) pour l'utiliser dans une autre requete.

    Quelqu'un pour m'aider?

    merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Si ton script est relancé à chaque fois, tu perds tous tes pointeurs de ressources. Mais pourquoi ne pas simplement réinjecter le cookie de session/authentification avec CURLOPT_COOKIEFILE.

    Pour le timestamp, c'est relativement simple, tu le mets en bdd ou en fichier plat et tu le relis à chaque fois que tu veux exécuter le script.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 101
    Par défaut
    tu veux dire je teste si le temps est inferieur à 10min, je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     curl_setopt($ch, CURLOPT_COOKIEFILE, "\tmp\cookie.txt");
    et ca me récuperera mon cookie d'authentification?

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 101
    Par défaut
    Il n'y a pas un autre moyen que de créer un timestamp dans un bdd.?
    une info dans le cookie qui nous donnerai la date de création par exemple

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Si tu veux récupérer un pointeur de ressource plus loin dans un script, c'est possible, bien sûr. Mais si le script est exécuté à nouveau, tous les pointeurs de ressources seront automatiquement fermés quand le premier script s'arrêtera.

    A ma connaissance il n'y a pas de connections persistante pour ce type de ressource.
    http://be2.php.net/manual/fr/resource.php

    Pour le timestamp la fonction curl_getinfo() ne contient que des données de durée (connexion et transaction). Pas l'heure de la connexion.

    Pourrais-tu expliquer le pourquoi de ta demande. Gain de temps? Prolongation d'une session?

    Citation Envoyé par brasco06
    Il n'y a pas un autre moyen que de créer un timestamp dans un bdd.?
    une info dans le cookie qui nous donnerai la date de création par exemple
    Si, dans un fichier plat (ou en session ce qui revient au même).

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 101
    Par défaut
    c'est pour un gain de temps oui.

    le but est de s'authentifier au serveur une fois, de pouvoir effectuer des requêtes sans se ré-authentifier (pour eviter de faire 2 requetes à chaque fois).

    Et de faire une authentification automatique selon un temps prédéfini.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] fonction de tester le temps d'une date
    Par Invité dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/07/2013, 13h07
  2. Multiple curl en même temps
    Par JayGr dans le forum Langage
    Réponses: 7
    Dernier message: 30/05/2013, 12h47
  3. [curl] question si temps max
    Par Merfolk dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2009, 09h39
  4. Script shell pour tester le temps de réponse d'Apache
    Par Joe Le Mort dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 16/07/2007, 21h14
  5. [cURL] Gérer le proxy avec curl
    Par DaSoul dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/03/2006, 23h18

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