aliyunapi/guzzle-subscriber 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aliyunapi/guzzle-subscriber

Composer 安装命令:

composer require aliyunapi/guzzle-subscriber

包简介

aliyunsdk

README 文档

README

鉴于官方SDK被称为史上最烂外包SDK,所以这个中间件是 GuzzleHttp 专用的,支持阿里云大部分API请求。有需要的自行扩展。 For license information check the LICENSE-file.

Latest Stable Version Total Downloads

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist aliyunapi/guzzle-subscriber

or add

"aliyunapi/guzzle-subscriber": "~1.0"

to the require section of your composer.json.

使用

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use aliyun\guzzle\subscriber\Rpc;

$stack = HandlerStack::create();

//跟guzzlephp普通用法唯一的区别就是这里吧中间件加载进来,他会自动帮你签名重新包装请求参数。
$middleware = new Rpc([
    'accessKeyId' => '123456',
    'accessSecret' => '654321',
]);
$stack->push($middleware);

//这里设置 网关地址,数组参数请参见 http://docs.guzzlephp.org/en/latest/request-options.html 
//操作哪个接口对应的 base_uri 就写哪个
$client = new Client([
    'base_uri' => 'http://live.aliyuncs.com/',
    'handler' => $stack,
]);

//查询参数  https://help.aliyun.com/document_detail/35412.html 
//这个页面列出了几个参数就在数组提交几个参数,其他的API接口也一样,只需对应参数给他提交即可。
$res = $client->get('/', [
    'query' => [
        'Action' => 'DescribeLiveStreamOnlineUserNum',
        'DomainName' => 'live.aaa.tv',
        'AppName' => 'live',
        'StreamName' => 'bbb',
        ]
]);

print_r($res->getBody()->getContents());

////////////////////////////////////////////////////////////////////ROA已经实现了,但是没有条件测试,欢迎提交合并
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use aliyun\guzzle\subscriber\Roa;

$stack = HandlerStack::create();

//跟guzzlephp普通用法唯一的区别就是这里吧中间件加载进来,
//他会自动帮你签名重新包装请求参数。
$middleware = new Roa([
    'accessKeyId' => '123456',
    'accessSecret' => '654321',
    'version'=>'123456',
]);
$stack->push($middleware);

$client = new Client([
    'base_uri' => 'http://cs.aliyuncs.com/',
    'handler' => $stack,
]);

$res = $client->get('/', [
    'query' => [
        //etc
        ]
]);

print_r($res->getBody()->getContents());

统计信息

  • 总下载量: 6.83k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 2
  • 依赖项目数: 5
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-03-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固