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
Wallogit.com
2017 © Pedro Peláez
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