YurunHttpのV3.2.0、のWebSocketクライアントのサポートを追加しました

YurunHttpは、オープンソースのPHP HTTPライブラリ、サポートチェーン、使いやすいです。

その他すべての一般的なGET、POST、PUT、DELETE、UPDATE、アップロードとダウンロードをサポートするための要求、設定および読み取りヘッダ、クッキー、要求パラメータ、故障の再試行、制限速度、薬剤、及び他の証明書をサポートします。

パーフェクトバージョン3.0には、カール、Swooleのコルーチンをサポートしています。バージョン3.2はSwooleのWebSocketクライアントをサポートしています。

gitリポジトリのテストディレクトリには、サンプルコードです!

更新ログ(V3.2.0):

  • 新しいのWebSocketクライアントサポート

WebSocketクライアント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();
});

作曲家

このプロジェクトは、あなたの中にPSR-4自動ロード規則に従う、作曲インストールを使用することができ  composer.json 、以下のコンテンツを追加します

{ 
    "必要":{ 
        "yurunsoft / yurun-HTTP": "〜3.2" 
    } 
}

そして、実行し  composer update てインストールを。

その後、あなたは使用することができ  include "vendor/autoload.php"; 、自動的にクラスをロードします。(詩:名前空間を忘れないでください)

使い方

シンプルなコール

<?PHPの
使用Yurun \ Utilの\のHttpRequest。

$ HTTP =新しいHttpRequestの。
$応答= $ HTTP-> UA( 'YurunHttp')
                 - >( 'http://www.baidu.com')を取得。

'HTML:'エコー、PHP_EOL、$対応- >ボディ();

PSR-7のリクエスト建設

<?PHP 
Yurun \ Utilの\ YurunHttp \のHttp \要求を使用します。
Yurun \ Utilの\ YurunHttpを使用します。

= 'http://www.baidu.com' $ URL; 

//コンストラクタは定義された:__構築物($ URI = nullを 、配列ヘッダ= $ []、$本体= ''、$方法:: = RequestMethod GET、バージョン$ = '1.1'、アレイサーバーの$ = []、クッキーの配列$ = []、配列$ファイル= [])
$リクエストリクエスト新しい新=($のURL); 

//リクエストを送信し、結果を取得
$のYurunHttpを::レスポンス=($リクエスト)を送る; 

のvar_dump($応答);

Swooleモードコルーチン

<?PHPは
Yurun \ Utilの\ YurunHttpを使用します。
Yurun \ Utilのを\使用のHttpRequest; 

//設定し、デフォルトの要求処理Swoole 
YurunHttp :: setDefaultHandler( 'Yurun \ Utilの\ YurunHttp \ハンドラ\ Swoole'); PHP 5.4 // 
// :: setDefaultHandler YurunHttp(\ Yurun \ Utilの\ YurunHttp \ハンドラ\ Swoole ::クラス); PHP 5.5以降// 

// Swooleプロセッサはコルーチンを呼び出す必要があり
ゴー( 'テスト'); 

関数test()
{ 
    $ HTTP HttpRequestの新しい新しい=; 
    $レスポンス= $ HTTP-> GET( 'http://www.baidu.com'); 
    エコー'HTML:'、値がPHP_EOL、$対応- >体()です; 
}

WebSocketのクライアント

YurunHttp :: setDefaultHandler(\ Yurun \ Utilの\ YurunHttp \ハンドラ\ Swoole ::クラス)。
(関数(){行く
    $ URL = '://127.0.0.1:WS 1234 /'; 
    $ HTTP =新しいのHttpRequestを; 
    $クライアント= $ HTTP->のWebSocket($のURL); 
    ($クライアント- >をisConnected(あれば! ))
    { 
        新しい\のRuntimeException( '接続に失敗しました')投げる; 
    } 
    $クライアント- >)( 'データ'を送る; 
    $のrecv = $クライアント- >のrecv(); 
    のvar_dump( 'RECV:'、$のRECV); 
    $クライアント- >クローズ(); 
});

特定の参照examplesコードディレクトリの例を

関連住所:

おすすめ

転載: www.oschina.net/news/108645/yurunhttp-v-3-2-0-released