Example #1
0
 /**
  * test send a copy of request
  */
 public function testCloneRequest()
 {
     $request = Curl\Request::newRequest($this->getTestCallbackUrl());
     $params = array('param1' => 1, 'param2' => 2);
     $request->setMethod('POST')->addPostParams($params);
     $result = json_decode($request->send(), true);
     $this->assertInternalType('array', $result);
     $this->assertArrayHasKey('param2', $result['params']);
     $result = null;
     try {
         $result = $request->send();
     } catch (\BadMethodCallException $e) {
     }
     $this->assertNull($result);
     $request2 = clone $request;
     $result = $result = json_decode($request2->send(), true);
     $this->assertInternalType('array', $result);
     $this->assertArrayHasKey('param2', $result['params']);
 }
Example #2
0
<?php

$request = new Curl\Request();
$request->setUrl('http://google.com');
// or
$request = Curl\Request::newRequest('http://google.com');
// making POST request
$request = Curl\Request::newRequest('http://example.com', 'POST', array('param1' => 1, 'param2' => 2));
// add attachments
$request->attachFiles(array('file' => 'filename.txt', 'file2' => array('filename1.txt', 'filename2.txt')));
$response = $request->getResponse();
// or
$response = $request->send();
echo $response->getContent();
// or
echo $response;
Example #3
0
    /**
     * (non-PHPdoc)
     * @see Curl.Response::hasError()
     */
    public function hasError()
    {
        return parent::hasError() && 200 != $this->getInfo(true)->http_code;
    }
}
// use custom response class
// it must implement the Curl\IResponse interface
$request->setResponseClass('CustomResponse');
var_dump($request->send()->hasError());
// set response type
/* @var $response Curl\Response\XMLResponse */
$response = $request->setResponseType('xml')->send();
var_dump($response, $response->toArray());
// use curl_multi
$executor = new Curl\MultiExecutor();
// define a number of concurrent requests
$executor->setConcurrentRequestsLimit(2);
// set common options to all requests
$executor->setCommonRequestOptions(array(CURLOPT_AUTOREFERER => 1, 'headers' => array(), Curl\Request::EVENT_BEFORE_SEND => function () {
    /* do something */
}));
// NOTE: it's important to define common options BEFORE call Curl\MultiExecutor::addRequest()
for ($i = 0; $i < 10; $i++) {
    $executor->addRequest(Curl\Request::newRequest('https://google.com'));
}
// run executor
$executor->execute();