YurunHttp v3.2.3 发布,支持 JSON 类型的 RequestBody
YurunHttp 是开源的 PHP HTTP 类库,支持链式操作,简单易用。
支持所有常见的 GET、POST、PUT、DELETE、UPDATE 等请求方式,支持上传下载、设置和读取 header、Cookie、请求参数、失败重试、限速、代理、证书等。
3.0 版完美支持 Curl、Swoole 协程;3.2 版支持 Swoole WebSocket 客户端。
git 仓库中 test 目录里是示例代码!
更新日志(v3.2.3):
- 支持 JSON 类型的 RequestBody
use Yurun\Util\HttpRequest; $http = new HttpRequest; $response = $http->post('http://www.xxx.com', [ 'id' => 1, ], 'json'); echo 'html:', PHP_EOL, $response->body();
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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
gout v0.0.1 发布,golang 流式 http client
gout 是 go 写的 http 客户端,为提高工作效率而开发。更新内容: #27新增coverprofile #49支持cookie #44新增beego/httplib对标文档,方便迁移过来 #47顶层method函数 #43设置代理服务 #42Callback接口,支持服务端接口返回多种数据结构 #40Def函数,New(nil)的别名接口 #38BindBody,Bind服务端数据到string或者到[]byte里面 #36SetBody,设置string或者[]byte到请求body里面 #29#26,ToForm设置multipart/form-data到body里面 #17SetYAML, BindYAML #16SetXML, BindXML #13SetQuery #12BindHeader #11SetHeader #7SetJSON, BindJSON #5Group #3method 函数 gout 想成为 golang 最好用的流式 http client,路还很长远,欢迎朋友提 issue 和 pr github 地址: https://github.co...
- 下一篇
Wizard 1.0.8 发布,开源文档管理系统
Wizard 1.0.8 发布了,本次更新之后,文档管理功能变得更加完整了,相对于 1.0 版本,主要包含以下更新: 增加文档导出功能,支持单个文档和多个文档批量导出,格式目前支持 Markdown 和 PDF 增加了几个快捷键支持,可以更加方便的编辑文档 实现了跨项目移动文档的功能,终于不用手动编辑数据库或者复制粘贴文档内容了 增加版本检查功能,自动检查是否有新版本,用户第一次访问新版本时,会提示用户本次版本更新内容 更新 Docker 镜像,文件上传大小默认上限由 2M 提升为 100M 其它 Bug 修复和体验优化 Wizard是一款开源文档管理系统。这个项目是我在2017年就开始开发的,起初只是想做一款能够在公司内部把Swagger文档管理起来的工具,但在这近两年的时间里,一直断断续续的为其添加各种功能,目前支持三种类型的文档管理 Markdown:也是Wizard最主要的文档类型,研发团队日常工作中交流所采用的最常用文档类型,在Wizard中,对Editor.md项目进行了功能扩展,增加了文档模板,Json 转表格,图片粘贴上传等功能 Swagger:支持OpenAPI 3....
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16