YurunHttp v3.0.3,支持 cURL、Swoole 协程

宇润
 宇润
发布于 2019年04月17日
收藏 14

YurunHttp 是开源的 PHP HTTP 类库,支持链式操作,简单易用。

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

3.0 版完美支持 Curl、Swoole 协程。

我们有完善的在线技术文档:http://doc.yurunsoft.com/YurunHttp

API 文档:https://apidoc.gitee.com/yurunsoft/YurunHttp

Gitee:https://gitee.com/yurunsoft/YurunHttp

Github:https://github.com/Yurunsoft/YurunHttp

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

更新日志(v3.0.3):

* 优化 Swoole 接收数据失败时的处理

* 优化异常文本拼写

* 将制表符替换为4空格对齐

Composer

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

{
    "require": {
        "yurunsoft/yurun-http": "~3.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();
}

具体详见test目录中的示例代码

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:YurunHttp v3.0.3,支持 cURL、Swoole 协程
加载中

精彩评论

宇润
宇润
支持php主流的curl以及Swoole环境,一套写法,一句话轻松切换支持的环境。用Swoole开发,不再被curl阻塞!!!
宇润
宇润

引用来自“zibbs”的评论

用什么PHP的abstract与interface,还是实用为主,我觉得通用的插件不需要高级语法,不需要composer,就简单的class,require写法足矣,参考支付宝支付的sdk
不用 composer还做什么 php?

最新评论(9

豺狼之吻
豺狼之吻
网址换成test.pbp?id=111这样可以吗?html是返回数据插入boby中?
宇润
宇润

引用来自“zibbs”的评论

用什么PHP的abstract与interface,还是实用为主,我觉得通用的插件不需要高级语法,不需要composer,就简单的class,require写法足矣,参考支付宝支付的sdk

引用来自“宇润”的评论

不用 composer还做什么 php?

引用来自“zibbs”的评论

我遇到的项目就从来没有namespace composer,不也好好的,用你这个还需要不必要的学习成本
那你就别用,我没收你钱,也没强迫你用。我只给有缘人用,你不是
O
OSC_uNQaxH

引用来自“zibbs”的评论

用什么PHP的abstract与interface,还是实用为主,我觉得通用的插件不需要高级语法,不需要composer,就简单的class,require写法足矣,参考支付宝支付的sdk

引用来自“宇润”的评论

不用 composer还做什么 php?

引用来自“zibbs”的评论

我遇到的项目就从来没有namespace composer,不也好好的,用你这个还需要不必要的学习成本
兄弟,现在是个新东西都用composer了好吧。再说也没什么学习成本。
zibbs
zibbs

引用来自“zibbs”的评论

用什么PHP的abstract与interface,还是实用为主,我觉得通用的插件不需要高级语法,不需要composer,就简单的class,require写法足矣,参考支付宝支付的sdk

引用来自“宇润”的评论

不用 composer还做什么 php?
我遇到的项目就从来没有namespace composer,不也好好的,用你这个还需要不必要的学习成本
宇润
宇润

引用来自“zibbs”的评论

用什么PHP的abstract与interface,还是实用为主,我觉得通用的插件不需要高级语法,不需要composer,就简单的class,require写法足矣,参考支付宝支付的sdk
不用 composer还做什么 php?
宇润
宇润
不用composer还做什么php?
zibbs
zibbs
用什么PHP的abstract与interface,还是实用为主,我觉得通用的插件不需要高级语法,不需要composer,就简单的class,require写法足矣,参考支付宝支付的sdk
喵星人123
喵星人123
支持
宇润
宇润
支持php主流的curl以及Swoole环境,一套写法,一句话轻松切换支持的环境。用Swoole开发,不再被curl阻塞!!!
返回顶部
顶部