YurunHttp v3.2.2 发布,支持自动为下载文件增加扩展名
YurunHttp 是开源的 PHP HTTP 类库,支持链式操作,简单易用。
支持所有常见的 GET、POST、PUT、DELETE、UPDATE 等请求方式,支持上传下载、设置和读取 header、Cookie、请求参数、失败重试、限速、代理、证书等。
3.0 版完美支持 Curl、Swoole 协程;3.2 版支持 Swoole WebSocket 客户端。
git仓库中test目录里是示例代码!
更新日志(v3.2.2):
- 新增支持自动为下载文件增加扩展名
use Yurun\Util\HttpRequest; $url = 'http://www.baidu.com'; $http = new HttpRequest; $http->download(__DIR__ . '/save.*', $url); // 如果文件名设为save.*,.* 则代表自动识别扩展名
Composer
本项目可以使用composer安装,遵循psr-4自动加载规则,在你的 composer.json
中加入下面的内容
{ "require": { "yurunsoft/yurun-http": "~3.2" } }
然后执行 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
目录中的示例代码
相关地址:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Jboot 2.2.0 发布,分布式开发更加简单快速
Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对java代码、html、css、js 等资源文件进行热加载,爽爽的开发。 明天 10.1 了,今天发布 2.2.0 给大家一个国企的礼物。这个版本主要是新增了根据Columns进行增删改查的方法,同时增强了代码生成器的生成能力,Jboot 历时近3年,已经发布了 100+ 个版本,成熟而稳定。 Jboot 3.0 也在开始计划了,预计年底能出来第一个版本。 Jboot v2.2.0 更新内容如下: 新增:JbootModel 新增 deleteByColumns 的方法 新增:JbootModel 新增 batchDeleteByIds 的方法 新增:JbootModel 新增 findCountByColumns 的方法 新增:Columns 查询新增 not in 的功能 新增:代码生成器新增 findFirstByColumns 系列方法 新增:代码生成器新增 findListByC...
- 下一篇
TensorFlow 2.0 发布
TensorFlow 2.0 发布了。此版本专注于简单性和易用性,主要特性包括: 通过 Keras 和 eager execution 轻松建模。 在任何平台生产中进行稳健的模型部署。 强大的研究实验。 通过减少重复和删除已弃用的端简化 API。 详情查看更新说明: https://github.com/tensorflow/tensorflow/releases
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路