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 :

PHP Curl Multi init


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 91
    Points : 88
    Points
    88
    Par défaut PHP Curl Multi init
    Bonjour a tous ,

    j'essaye de faire une Get Request sur trois différents URL ,

    en meme temps je dois tester le HTTP_CODE si 200 ,

    par exemple quand je fais les trois différents get dans mon exemple :

    1 ère Get le http code = 200 ok tout est bon ,

    2 emme Get le http code = 504 Ah ici je dois refaire cette request , mais apparemment sa marche pas sur le code que j'utilise parceque je pense qu'il doit attendre que tout les requettes finissent .

    3 ere Get http code 200 ok tout est bon

    Donc es c'est possible de refaire une requette quand le HTTP code != 200 ,

    et je n'arrive pas a avoir le HTTP code avec mon code , c'est quoi le probleme ?


    Voila Mon code PHP ,


    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?php
    			$url1 = "https://google.fr";
    			$url2 = "https://www.google.de/";
    			$url3 = "https://example.com";
     
    			$nodes = array($url1, $url2, $url3);
    			$node_count = count($nodes);
     
    			$curl_arr = array();
    			$master = curl_multi_init();
     
    			for($i = 0; $i < $node_count; $i++)
    			{
     
     
    				$url =$nodes[$i];
    				$curl_arr[$i] = curl_init($url);
    				curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
    				//curl_setopt($curl_arr[$i], CURLOPT_HTTPHEADER, $request_headers);
    				curl_setopt($curl_arr[$i], CURLOPT_COOKIEJAR, dirname(__FILE__) . "cookie$i.txt");	
    				curl_setopt($curl_arr[$i], CURLOPT_COOKIEFILE, dirname(__FILE__) . "cookie$i.txt");			
    				curl_setopt($curl_arr[$i], CURLOPT_CUSTOMREQUEST, "GET");
    				curl_setopt($curl_arr[$i], CURLOPT_SSL_VERIFYPEER, false);
    				curl_setopt($curl_arr[$i], CURLOPT_SSL_VERIFYHOST, false);
    				curl_setopt($curl_arr[$i], CURLOPT_VERBOSE, true);
    				curl_multi_add_handle($master, $curl_arr[$i]);
     
     
    			}
     
    			do {
    				curl_multi_exec($master,$running);
     
    			} while($running > 0);
     
     
    			for($i = 0; $i < $node_count; $i++)
    			{
    				$results[] = curl_multi_getcontent  ( $curl_arr[$i]  );
     
    				echo curl_getinfo($curl_arr[$i], CURLINFO_HTTP_CODE);
     
    				//file_put_contents("result$i.html",$results[$i]);
     
     
    			}
    Merci les Devs .

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 91
    Points : 88
    Points
    88
    Par défaut
    Merci les Gars j'ais trouvé la réponse pour sa ,
    j 'ai due utilisé les Thread , j'ai utilisé le Pthreads pour sa ,
    Voila le lien : https://github.com/krakjoe/pthreads
    j'ais fais une fonctions est je l'ai appelle dans la classe ,
    Voila un exemple pour que vous comprenez ,

    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
    <?php
    function myfunction(){
    echo "This is a test function";
    }
    class TestThread extends Thread {
    public function run() { 
    		myfunction(); 
    	}
    }
     
    			$apicall = [];
    			for($i=0; $i<=5 ;$i++){
    			$apicall[$i] = new TestThread($i);
    			$apicall[$i]->start();
    			}
    			foreach(range(0,5) as $i){
     
    				$apicall[$i]->join();
    			}
     
    ?>

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

Discussions similaires

  1. CURL MULTI - PHP - JSON : pb de décode
    Par altair8080 dans le forum Langage
    Réponses: 0
    Dernier message: 18/03/2012, 16h52
  2. Redirection "intelligente" php (formulaire multi-page)
    Par Shakuro dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 17/03/2012, 16h31
  3. PHP et multi-tâche ?
    Par steveWill dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/12/2010, 09h00
  4. Probleme php - curl - function
    Par thibaut06 dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2010, 10h41
  5. PHP & CURL
    Par 123pierre dans le forum Langage
    Réponses: 8
    Dernier message: 05/02/2009, 05h39

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