YurunHttp v3.2.0、WebSocket Clientの追加サポート

3142 ワード

YurunHttpはオープンソースのPHP HTTPクラスライブラリで、チェーン操作をサポートし、簡単で使いやすい.
すべての一般的なGET、POST、PUT、DELETE、UPDATEなどの要求方式をサポートし、header、Cookie、要求パラメータ、失敗再試行、制限速度、エージェント、証明書などのアップロード、設定と読み取りをサポートする.
3.0版はCurl、Swooleの協力を完璧にサポートしています.バージョン3.2はSwoole WebSocketクライアントをサポートします.
APIドキュメント:https://apidoc.gitee.com/yuru...
Gitee:https://gitee.com/yurunsoft/Y...
Github:https://github.com/Yurunsoft/...
git倉庫のexamplesディレクトリにはサンプルコードがあります!
QQ群交流:17916227
更新ログ(v 3.2.0):
  • WebSocket Clientが
  • をサポート
    WebSocket Clientは、Swooleコラボレーション環境にのみ使用されます.
    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();
    });

    Composer
    このプロジェクトはcomposerを使用してインストールすることができて、psr-4の自動ロード規則に従って、あなたのcomposer.jsonに次の内容を加える
    {
        "require": {
            "yurunsoft/yurun-http": "~3.1"
        }
    }

    その後、composer updateインストールが実行される.
    その後、include "vendor/autoload.php";を使用してクラスを自動的にロードできます.(ps:namespaceを忘れないでください)
    使用法
    単純呼び出し
    ua('YurunHttp')
                     ->get('http://www.baidu.com');
    
    echo 'html:', PHP_EOL, $response->body();

    PSR-7リクエスト構築

    Swooleコモンモード
    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ディレクトリのサンプルコードを参照してください