内容简介:YurunHttp 是开源的 PHP HTTP 类库,支持链式操作,简单易用。支持所有常见的 GET、POST、PUT、DELETE、UPDATE 等请求方式,支持上传下载、设置和读取 header、Cookie、请求参数、失败重试、限速、代理、证书等。3.x 版完美支持 Curl、Swoole 协程。
YurunHttp 是开源的 PHP HTTP 类库,支持链式操作,简单易用。
支持所有常见的 GET、POST、PUT、DELETE、UPDATE 等请求方式,支持上传下载、设置和读取 header、Cookie、请求参数、失败重试、限速、代理、证书等。
3.x 版完美支持 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.1.0):
新增:
-
新增 CookieManager,用于管理一个实例下的会话。现在同一个HttpRequest类实例,会 自动管理 Cookie 。
-
增加 测试用例(PHP5.4 - PHP7.3) 、示例代码
优化:
-
现在只有状态码为301、302、303,才更改重定向请求方法为 GET
-
优化 StatusCode 类
-
Swoole 重定向地址的 host、port、scheme 与上一个地址保持一致的话,复用 $client
-
同一个 HttpRequest 对象重复请求时,Curl 资源不再重新 init
-
Uri->getPort() 不再根据协议自动返回缺省端口
新增 Uri::getServerPort() 方法获取端口,支持获取缺省
-
Uri::getDomain() 方法改为静态方法
-
优化 close()、__destruct()
-
Curl CURLOPT_COOKIEJAR 默认值改为 php://memory,不再写入文件
-
优化 Curl header 处理性能
修复:
- 修复 Swoole Handler Host 不带端口号问题
Composer
本项目可以使用composer安装,遵循psr-4自动加载规则,在你的 composer.json
中加入下面的内容
{
"require": {
"yurunsoft/yurun-http": "~3.1"
}
}
然后执行 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();
}
具体详见 examples
目录中的示例代码
以上所述就是小编给大家介绍的《YurunHttp v3.1.0,支持 Curl&Swoole 的 HTTP 请求库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- WePush 3.6.1 发布,支持批量请求
- C#实现请求唯一性校验支持高并发
- 封装一个原生js的ajax请求,支持IE9CORS跨域请求
- hi-nginx 1.8.6 发布,支持子请求
- hi-nginx 1.8.6 发布,支持子请求
- Spring Boot中如何扩展XML请求和响应的支持
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Just My Type
Simon Garfield / Profile Books / 2010-10-21 / GBP 14.99
What's your type? Suddenly everyone's obsessed with fonts. Whether you're enraged by Ikea's Verdanagate, want to know what the Beach Boys have in common with easy Jet or why it's okay to like Comic Sa......一起来看看 《Just My Type》 这本书的介绍吧!