• <ruby id="bi9vj"><b id="bi9vj"></b></ruby>

        <b id="bi9vj"></b>

        YurunHttp v3.2.3 發布,支持 JSON 類型的 RequestBody

        宇潤
         宇潤
        發布于 2019年10月10日
        收藏 6

        YurunHttp 是開源的 PHP HTTP 類庫,支持鏈式操作,簡單易用。

        支持所有常見的 GET、POST、PUT、DELETE、UPDATE 等請求方式,支持上傳下載、設置和讀取 header、Cookie、請求參數、失敗重試、限速、代理、證書等。

        3.0 版完美支持 Curl、Swoole 協程;3.2 版支持 Swoole WebSocket 客戶端。

        git 倉庫中 test 目錄里是示例代碼!

        更新日志(v3.2.3):

        • 支持 JSON 類型的 RequestBody
        use Yurun\Util\HttpRequest;
        
        $http = new HttpRequest;
        $response = $http->post('http://www.xxx.com', [
            'id'    =>  1,
        ], 'json');
        echo 'html:', PHP_EOL, $response->body();

        Composer

        本項目可以使用composer安裝,遵循psr-4自動加載規則,在你的 composer.json 中加入下面的內容

        {
            "require": {
                "yurunsoft/yurun-http": "~3.2"
            }
        }

        然后執行 composer update 安裝。

        之后你便可以使用 include "vendor/autoload.php"; 來自動加載類。(ps:不要忘了namespace)

        用法

        簡單調用

        <?php
        use Yurun\Util\HttpRequest;
        
        $http = new HttpRequest;
        $response = $http->ua('YurunHttp')
                         ->get('http://www.baidu.com');
        
        echo 'html:', PHP_EOL, $response->body();

        PSR-7 請求構建

        <?php
        use Yurun\Util\YurunHttp\Http\Request;
        use Yurun\Util\YurunHttp;
        
        $url = 'http://www.baidu.com';
        
        // 構造方法定義:__construct($uri = null, array $headers = [], $body = '', $method = RequestMethod::GET, $version = '1.1', array $server = [], array $cookies = [], array $files = [])
        $request = new Request($url);
        
        // 發送請求并獲取結果
        $response = YurunHttp::send($request);
        
        var_dump($response);

        Swoole 協程模式

        <?php
        use Yurun\Util\YurunHttp;
        use Yurun\Util\HttpRequest;
        
        // 設置默認請求處理器為 Swoole
        YurunHttp::setDefaultHandler('Yurun\Util\YurunHttp\Handler\Swoole'); // php 5.4
        // YurunHttp::setDefaultHandler(\Yurun\Util\YurunHttp\Handler\Swoole::class); // php 5.5+
        
        // Swoole 處理器必須在協程中調用
        go('test');
        
        function test()
        {
            $http = new HttpRequest;
            $response = $http->get('http://www.baidu.com');
            echo 'html:', PHP_EOL, $response->body();
        }

        WebSocket Client

        YurunHttp::setDefaultHandler(\Yurun\Util\YurunHttp\Handler\Swoole::class);
        go(function(){
            $url = 'ws://127.0.0.1:1234/';
            $http = new HttpRequest;
            $client = $http->websocket($url);
            if(!$client->isConnected())
            {
                throw new \RuntimeException('Connect failed');
            }
            $client->send('data');
            $recv = $client->recv();
            var_dump('recv:', $recv);
            $client->close();
        });

        具體詳見examples目錄中的示例代碼

        相關地址:

        本站文章除注明轉載外,均為本站原創或編譯。歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動共創開源社區。
        轉載請注明:文章轉載自 OSCHINA 社區 [http://www.url23.com]
        本文標題:YurunHttp v3.2.3 發布,支持 JSON 類型的 RequestBody
        加載中

        最新評論(2

        water6000
        water6000
        你原來那個框架不維護了,是嗎?
        宇潤
        宇潤
        YurunPHP 框架已經停止新功能的開發,如果你還在用,發現了bug,還是可以給我提issue的,我會盡快解決。

        現在我主要使用和維護 imi 框架:https://gitee.com/yurunsoft/IMI
        返回頂部
        頂部
        聚看影院