Saturday, April 13, 2013

Multiple Request in PHP CURL.


Multiple Request in PHP CURL.

We have used multiple urls in curl .Please use this code.

I have search many code.just given single  url run in curl.

but i got one url from this code for Multiple request in CURL.

that url address share in bottom of this post.

  function multiRequest($data, $options = array()) {
      // array of curl handles
      $curly = array();
      // data to be returned
      $result = array();
   
      // multi handle
      $mh = curl_multi_init();
   
      // loop through $data and create curl handles
      // then add them to the multi-handle
      foreach ($data as $id => $d) {
   
        $curly[$id] = curl_init();
   
        $url = (is_array($d) && !empty($d['url'])) ? $d['url'] : $d;
        curl_setopt($curly[$id], CURLOPT_URL,            $url);
        curl_setopt($curly[$id], CURLOPT_HEADER,         0);
        curl_setopt($curly[$id], CURLOPT_RETURNTRANSFER, 1);
   
        // post?
        if (is_array($d)) {
          if (!empty($d['post'])) {
            curl_setopt($curly[$id], CURLOPT_POST,       1);
            curl_setopt($curly[$id], CURLOPT_POSTFIELDS, $d['post']);
          }
        }
   
        // extra options?
        if (!empty($options)) {
          curl_setopt_array($curly[$id], $options);
        }
   
        curl_multi_add_handle($mh, $curly[$id]);
      }
   
      // execute the handles
      $running = null;
      do {
        curl_multi_exec($mh, $running);
      } while($running > 0);
   
   
      // get content and remove handles
      foreach($curly as $id => $c) {
        $result[$id] = curl_multi_getcontent($c);
        curl_multi_remove_handle($mh, $c);
      }
   
      // all done
      curl_multi_close($mh);
       return $result;
    }


  $data = array("http://www.example.com/pictures", "http://www.example.com/videos","http://www.example.com/clear-cache");
   $r = multiRequest($data);




       if you want to run many more urls in curl.
       just add the array values.its enough for implement the code.
  



Cheers and thanks to  http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/ .

No comments:

Post a Comment