PHP code example of sngrl / mcurl
1. Go to this page and download the library: Download sngrl/mcurl library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sngrl / mcurl example snippets
use MCurl\Client;
$client = new Client();
echo $client->get('http://example.com');
$result = $client->get('http://example.com');
echo (!$result->hasError()
? 'Ok: ' . $result
: 'Error: ' .$result->error . ' ('.$result->errorCode.')')
, PHP_EOL;
echo $client->get('http://example.com', [CURLOPT_REFERER => 'http://example.net/']);
echo $client->post('http://example.com', ['post-key' => 'post-value'], [CURLOPT_REFERER => 'http://example.net/']);
// @var $results Result[]
$results = $client->get(['http://example.com', 'http://example.net']);
foreach($results as $result) {
echo $result;
}
$urls = ['http://example.com', 'http://example.net', 'http://example.org'];
foreach($urls as $url) {
$client->add([CURLOPT_URL => $url]);
}
// wait all request
// @var $results Result[]
$results = $client->all();
$urls = ['http://example.com', 'http://example.net', 'http://example.org'];
foreach($urls as $url) {
$client->add([CURLOPT_URL => $url]);
}
while($result = $client->next()) {
echo $result;
}
while($result = $client->next()) {
$urls = fun_get_urls_for_parse_result($result);
foreach($urls as $url) {
$client->add([CURLOPT_URL => $url]);
}
echo $result;
}
while($client->run() || $client->has()) {
while($client->has()) {
// no blocking
$result = $client->next();
echo $result;
}
// more async code
//end more async code
}
$result = $client->add([CURLOPT_URL => $url], ['id' => 7])->next();
echo $result->params['id']; // echo 7
// @var $result Result
$result->body; // string: body result
$result->json; // object; @see json_encode
$result->getJson(true); // array; @see json_encode
$result->headers['content-type']; // use $client->enableHeaders();
$result->info; // @see curl_getinfo();
$result->info['total_time']; // 0.001
$result->hasError(); // not empty curl_error or http code >=400
$result->hasError('network'); // only not empty curl_error
$result->hasError('http'); // only http code >=400
$result->getError(); // return message error, if ->hasError();
$result->httpCode; // return 200
$client->setOptions([CURLOPT_REFERER => 'http://example.net/']);
$client->enableHeaders();
$client->setMaxRequest(20); // set 20 parallel request
$client->setSleep (20, 1);
//channel 10 Mb.
$client->setMaxRequest (123);
$client->setOptions([CURLOPT_MAX_RECV_SPEED_LARGE => (10 * 1024 ^ 3) / 123]);
$client->get('http://exmaple.com/image.jpg', [CURLOPT_FILE => fopen('/tmp/image.jpg', 'w')]);
$client->setStreamResult(Client::STREAM_FILE); // All Result write in tmp file.
/**
* @see tests/ and source
*/
json
{
"hr/php-mcurl-client": "~3.0"
}
}