Example #1
0
 public function testSimple()
 {
     $this->markTestSkipped('Looks bad');
     $multi = new MultiCurl();
     $multi->setCompleteCallback(function ($curl) {
         $info = $curl->getInfo();
         # printf("%.2F: %s\n", $info['total_time'], $info['url']);
     });
     $curl = new Curl();
     $curl->setUrl('http://www.golem.de/');
     $response1 = $curl->getResponse();
     $curl->execute();
     $multi->addCurl($curl);
     $curl = new Curl();
     $curl->setUrl('http://www.heise.de/');
     $response2 = $curl->getResponse();
     $multi->addCurl($curl);
     $curl = new Curl();
     $curl->setUrl('http://www.example.com/');
     $response3 = $curl->getResponse();
     $multi->addCurl($curl);
     $curl = new Curl();
     $curl->setUrl('http://localhost/');
     $response4 = $curl->getResponse();
     $multi->addCurl($curl);
     $curl = new Curl();
     $curl->setUrl('dasdasdasfdf432rwedfs://localhost/');
     $response5 = $curl->getResponse();
     $multi->addCurl($curl);
     $index = 0;
     while ($multi->active) {
         $index++;
         $multi->step();
         if ($index == 1) {
             $curl = new Curl();
             $curl->setUrl('http://www.example.com/1');
             $multi->addCurl($curl);
         }
         if ($index == 1) {
             $curl = new Curl();
             $curl->setUrl('http://www.example.com/2');
             $multi->addCurl($curl);
         }
         if ($index == 3) {
             $curl = new Curl();
             $curl->setUrl('http://www.example.com/3');
             $multi->addCurl($curl);
         }
     }
 }
Example #2
0
 public function testImap()
 {
     $this->markTestSkipped('No credentials');
     $curl = new Curl();
     $curl->setTimeout(4);
     $curl->setOption(CURLOPT_PROTOCOLS, CURLPROTO_IMAP | CURLPROTO_IMAPS);
     $curl->setUrl('imaps://imap.gmail.com/INBOX');
     $curl->setMethod('EXAMINE');
     $curl->setCredentials(new BasicCredentials('', ''));
     $response = $curl->execute();
 }
Example #3
0
 /**
  * @param \Blar\Curl\Curl $curl Curl.
  * @param \Blar\Http\HttpResponse $response Response.
  * @return $this
  */
 protected function configureCurl(Curl $curl, HttpResponse $response)
 {
     $curl->setMethod($this->getMethod());
     $curl->setUrl($this->getUrl());
     if ($this->getHeaders()) {
         $headers = $this->createHeadersArray($this->getHeaders());
         $curl->setOption(CURLOPT_HTTPHEADER, $headers);
     }
     if ($this->getBody()) {
         $curl->setBody($this->getBody());
     }
     $curl->setHeaderCallback(function ($header) use($response) {
         $response->setHeaderLine($header);
     });
     $curl->setWriteCallback(function ($part) use($response) {
         $response->addBodyPart($part);
     });
     return $this;
 }
Example #4
0
 public function testLowSpeedLimit()
 {
     $curl = new Curl();
     $curl->setMethod('GET');
     $curl->setOption(CURLOPT_URL, 'http://httpbin.org/drip?duration=5&numbytes=1&code=200');
     $curl->setLowSpeedLimit(4096, 2);
     $curl->execute();
 }
Example #5
0
 public function testRequest()
 {
     $this->markTestSkipped('Benötigt einen lokalen Proxyserver');
     $proxy = new CurlProxy();
     $socket = new NetworkSocket('127.0.0.1', 3128);
     $proxy->setSocket($socket);
     $curl = new Curl();
     $curl->setProxy($proxy);
     $curl->setOptions([CURLOPT_URL => 'http://httpbin.org/headers', CURLOPT_HTTPHEADER => ['Foo: 23', 'Bar: 42']]);
     $response = $curl->execute();
     $data = json_decode($response);
     $this->assertEquals(23, $data->headers->Foo);
     $this->assertEquals(42, $data->headers->Bar);
 }
Example #6
0
File: Curl.php Project: blar/curl
 /**
  * @param Curl $curl
  */
 protected function setProxyOptions(Curl $curl)
 {
     if (!$curl->hasProxy()) {
         return;
     }
     $curl->getProxy()->setCurlOptions($curl);
 }
Example #7
0
 /**
  * @param Curl $curl
  */
 public function setCurlOptions(Curl $curl)
 {
     $curl->setOptions($this->getOptions());
 }