YurunHttp v3.5.0 & v4.0.0 发布,新增支持并发批量请求

宇润-不忘251-支持中医
 宇润-不忘251-支持中医
发布于 2020年01月22日
收藏 13

大胜发棋牌_[官网入口]YurunHttp 是开源的 PHP HTTP 类库,支持链式操作,简单易用。

支持所有常见的 GET、POST、PUT、DELETE、UPDATE 等请求方式,支持 Http2、WebSocket、浏览器级别 Cookies 管理、上传下载、设置和读取 header、Cookie、请求参数、失败重试、限速、代理、证书等。

git 仓库中 examples 目录里是示例代码!

鉴于功能需要,实际的 PHP 版本使用情况,现将 v3.5.0 的 PHP 版本提升为 5.5,v4.0.0 的 PHP 版本提升为 7.1。请用户选择适合自己的版本使用。

更新日志(v3.5.0):

* 最低支持 PHP 版本提升为 5.5

* 新增支持 Curl Handler 并发请求

* HttpRequest 新增 method 方法和属性,用于设置默认缺省请求方法

更新日志(v4.0.0):

* 最低支持 PHP 版本提升为 7.1

* 新增支持 Swoole Handler 并发请求

并发批量请求

use \Yurun\Util\YurunHttp\Co\Batch;

$result = Batch::run([
    (new HttpRequest)->url('http://www.imiphp.com'),
    (new HttpRequest)->url('http://www.yurunsoft.com'),
]);

var_dump($result[0]->getHeaders(), strlen($result[0]->body()), $result[0]->getStatusCode());

var_dump($result[1]->getHeaders(), strlen($result[1]->body()), $result[1]->getStatusCode());

重大版本更新日志

每个小版本的更新日志请移步到 Release 查看

v4.0.0 新增支持 Swoole 并发批量请求 (PHP >= 7.1)

v3.5.0 新增支持 Curl 并发批量请求 (PHP >= 5.5)

v3.4.0 新增支持 Http2 全双工用法

v3.3.0 新增支持 Http2 兼容用法

v3.2.0 新增支持 Swoole WebSocket 客户端

v3.1.0 引入浏览器级别 Cookies 管理

v3.0.0 新增支持 Swoole 协程

v2.0.0 黑历史,不告诉你

v1.3.1 支持 Composer

v1.0-1.3 初期版本迭代

Composer

本项目可以使用composer安装,遵循psr-4自动加载规则,在你的 composer.json 中加入下面的内容

{
    "require": {
        "yurunsoft/yurun-http": "^4.0.0"
    }
}

然后执行 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://sj1668.com]
本文标题:YurunHttp v3.5.0 & v4.0.0 发布,新增支持并发批量请求
加载中

精彩评论

宇润-不忘251-支持中医
宇润-不忘251-支持中医
宇润PHP全家桶,提前祝大家新年快乐,身体健康,头发茂密,脱单发财!

最新评论(4

高久峰是个大胖子
你虽皮,但是挺香
Loveni
Loveni
木有全家桶
子弹兄
子弹兄
润哥V5,越来越牛逼了!
宇润-不忘251-支持中医
宇润-不忘251-支持中医
宇润PHP全家桶,提前祝大家新年快乐,身体健康,头发茂密,脱单发财!
返回顶部
顶部

页面底部区域 foot.htm