コード例 #1
0
ファイル: dHttpTest.php プロジェクト: aracoool/dhttp
 /**
  *
  */
 public function testGetRequest()
 {
     $http = new dHttp\Client('http://php.net');
     $resp = $http->get([CURLOPT_HEADER => true]);
     self::assertInstanceOf('dHttp\\Response', $resp);
     self::assertEquals($resp->getCode(), 200);
     self::assertInternalType('array', $resp->getHeaders());
     self::assertInternalType('string', $resp->getHeader('Content-Type'));
     self::assertEquals('text/html; charset=utf-8', $resp->getHeader('Content-Type'));
 }
コード例 #2
0
ファイル: example.php プロジェクト: aracoool/dhttp
<?php

/**
 * dHttp is library to work with Curl
 * Example to use library
 */
include_once 'src/Client.php';
include_once 'src/Response.php';
$http = new dHttp\Client('http://website.com', [CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1', CURLOPT_TIMEOUT => 5, CURLOPT_HEADER => true]);
/*
 * Simple get request
 */
$resp = $http->get();
// Get response code
$resp->getCode();
// Get response body
$resp->getBody();
// Get request errors
$resp->getErrors();
/*
 * Simple post request
 */
$resp = $http->post(['field1' => 'value1', 'field2' => 'value2']);
$resp->getRaw();
// Return response headers
$resp->getHeaders();
// Return a specific (text/html; charset=utf-8)
$resp->getHeader('Content-Type');
/**
 * Another way of setting.
 * Output response
コード例 #3
0
ファイル: index.php プロジェクト: gogi4ello/website
        $xmlString = file_get_contents('http://www.billboard.com/rss/charts/hot-100');
        $cache->set('top', $xmlString, 0, 8600);
    }
    $xml = new SimpleXMLElement($xmlString);
    $results = $xml->channel[0]->item;
    $app->render('layout.php', ['page' => 'main', 'results' => $results]);
});
// Search route
$app->get('/:query.html', function ($query) use($app) {
    $query = urlclean($query);
    // Save request
    $client = new \Sokil\Mongo\Client(MONGO_DSN);
    $collection = $client->getDatabase(MONGO_DBNAME)->getCollection(MONGO_COLLECTION);
    if (!$collection->find(['request' => $query])->count()) {
        $collection->insert(['request' => $query, 'created' => new MongoDate(), 'views' => 1]);
    } else {
        $collection->getMongoCollection()->update(['request' => $query], ['$inc' => ['views' => 1]]);
    }
    // Search from Vk or memcache
    $cache = new memcache();
    $cache->connect('localhost');
    // Поиск в ВК и отправка пользователю
    if (($results = $cache->get($query)) === false) {
        // Search from Vk or memcache
        $http = new dHttp\Client('https://api.vk.com/method/audio.search.json?access_token=096fb2d19fc28da6694e9db15f47ff9561c36628f5485fbcd642f7edc6185ea413ab2f2fa4a5c1789cb79&q=' . urlencode($query));
        $results = json_decode($http->get()->getBody(), true);
        $cache->set($query, json_decode($http->get()->getBody(), true), 0, 72000);
    }
    $app->render('layout.php', ['page' => 'search', 'results' => $results, 'query' => $query]);
})->conditions(['query' => '.+']);
$app->run();