dev-master
9999999-dev https://github.com/alixaxel/curly/Parallel cURL Wrapper for PHP
MIT
The Requires
- php >=5.4.0
- lib-curl *
The Development Requires
by Alix Axel
curl curl_multi
Parallel cURL Wrapper for PHP
Parallel cURL Wrapper for PHP, (*2)
Add the following dependency in your composer.json file:, (*3)
{ "require": { "alixaxel/curly": "*" } }
And then just run composer install
or composer update
., (*4)
<?php use alixaxel\curly\CURL; $url = 'http://httpbin.org/post', $data = [ 'foo' => sprintf('@', __FILE__), 'bar' => 'baz', ]; var_dump(CURL::Uni($url, $data, 'POST'));
<?php use alixaxel\curly\CURL; $url = 'http://httpbin.org/post', $data = [ 'foo' => sprintf('@', __FILE__), 'bar' => 'baz', ]; $handles = []; for ($i = 0; $i < 16; ++$i) { $handles[$key = uniqid()] = CURL::Uni($url, $data, 'POST', null, null, 0); } $parallel = 4; // number of requests to make in parallel $throttle = 1; // wait at least 1 second per each $parallel requests print_r(CURL::Multi($handles, null, $parallel, $throttle)); // original keys are preserved
<?php use alixaxel\curly\CURL; $url = 'http://httpbin.org/post', $data = [ 'foo' => sprintf('@', __FILE__), 'bar' => 'baz', ]; $handles = []; for ($i = 0; $i < 16; ++$i) { $handles[$key = uniqid()] = CURL::Uni($url, $data, 'POST', null, null, 0); } $parallel = 4; // number of requests to make in parallel $throttle = 1; // wait at least 1 second per each $parallel requests $result = CURL::Multi($handles, function ($response, $info, $id) { var_dump($id, $response); }, $parallel, $throttle); print_r($result); // each key will have the return value of the lambda callback
XPathify()
is based on visionmedia/php-selector., (*5)
Copyright (c) 2014 Alix Axel (alix.axel+github@gmail.com)., (*6)
Parallel cURL Wrapper for PHP
MIT
curl curl_multi