PHP HTTP 客戶端和框架:Guzzle

jopen 10年前發布 | 97K 次閱讀 Guzzle PHP開發

Guzzle是一個PHP HTTP 客戶端和框架,用于構建 RESTful web service 客戶端。

  • All the power of cURL with a simple interface.
  • 持久連接和并行請求
  • Streams request and response bodies
  • Service descriptions for quickly building clients.
  • Powered by the Symfony2 EventDispatcher.
  • Use all of the code or only specific components.
  • Plugins for caching, logging, OAuth, mocks, and more
  • Includes a custom node.js webserver to test your clients.
  • </ul>

    <?php
    require_once 'vendor/autoload.php';
    use Guzzle\Http\Client;
    
    // Create a client and provide a base URL
    $client = new Client('https://api.github.com');
    // Create a request with basic Auth
    $request = $client->get('/user')->setAuth('user', 'pass');
    // Send the request and get the response
    $response = $request->send();
    echo $response->getBody();
    // >>> {"type":"User", ...
    echo $response->getHeader('Content-Length');
    // >>> 792
    
    // Create a client to work with the 推ter API
    $client = new Client('https://api.推ter.com/{version}', array(
        'version' => '1.1'
    ));
    
    // Sign all requests with the OauthPlugin
    $client->addSubscriber(new Guzzle\Plugin\Oauth\OauthPlugin(array(
        'consumer_key'  => '***',
        'consumer_secret' => '***',
        'token'       => '***',
        'token_secret'  => '***'
    )));
    
    echo $client->get('statuses/user_timeline.json')->send()->getBody();
    // >>> {"public_gists":6,"type":"User" ...
    
    // Create a tweet using POST
    $request = $client->post('statuses/update.json', null, array(
        'status' => 'Tweeted with Guzzle, http://guzzlephp.org'
    ));
    
    // Send the request and parse the JSON response into an array
    $data = $request->send()->json();
    echo $data['text'];
    // >>> Tweeted with Guzzle, http://t.co/kngJMfRk

    項目主頁:http://www.baiduhome.net/lib/view/home/1392714245460

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!