应用场景 php的组件有些时候 需要同时支持 guzzlehttp5.3 and guzzlehttp6.7

you call install guzzlehttp5.3 and guzzlehttp6.7 ,

like this 
vendor/guzzlehttp53
vendor/guzzlehttp

第二步 2.
fillup/walmart-partner-api-sdk-php

replace

use GuzzleHttp\   - > use GuzzleHttp53\

GuzzleHttp\\ -> GuzzleHttp53\\

第三部 2.

composer\autoload_psr4

add  GuzzleHttp53

autoload_psr4

'GuzzleHttp53\\Subscriber\\Retry\\' => array($vendorDir . '/guzzlehttp53/retry-subscriber/src'),
    'GuzzleHttp53\\Stream\\' => array($vendorDir . '/guzzlehttp53/streams/src'),
    'GuzzleHttp53\\Ring\\' => array($vendorDir . '/guzzlehttp53/ringphp/src'),
    'GuzzleHttp53\\Command\\Guzzle\\' => array($vendorDir . '/fillup/guzzle-services/src'),
    'GuzzleHttp53\\Command\\' => array($vendorDir . '/guzzlehttp53/command/src'),
    'GuzzleHttp53\\' => array($vendorDir . '/guzzlehttp53/guzzle/src'),
 
autoload_static

.......................

guzzle 增加header

$client = new Client([//域名或者访问的api接口地址'base_uri' => 'http://localhost/test',// 超时,可设置可不设置'timeout'  => 2.0,]);
// $api可以为空,一般为api接口后缀,也可以直接写到上面的base_uri里面,
$response = $client->request('POST/GET', '$api', ['headers' => ['name' => 'info'],'query' => ['username' => 'webben','password' => '123456',]]);$postData = ['platform_no'=> $rms_platform_no,'uuid' => $uuid,"data_info" => $param];
//方法1$rs =  $this->http($url , 'POST' , ['headers'=>$headers,'body'=>json_encode($postData)]);//方法2
$rs =  $this->http($url , 'POST' , ['headers'=>$headers,'json'=>$postData]);

也可以用

oauth-subscriber:使用OAuth 1.0(Guzzle 6+)签署Guzzle请求

guzzle-oauth2-subscriber:适用于Guzzle 4、5和6的OAuth 2.0客户端-不再需要依赖了! ( 没有验证过)

Guzzle OAuth 2.0订阅者 使用Guzzle 4、5、6、7和PHP 5.4、5.5、5.6、7.0、7.1、7.2、7.3和7.4进行了测试。 这是Guzzle的OAuth 2.0客户端,旨在与Guzzle 4、5、6、7和单个软件包中的所有将来版本100%兼容。 尽管我喜欢Guzzle,但它的接口不断变化,每12个月左右会引起重大的更改,因此,我创建了此程序包来帮助减少大多数第三方Guzzle依赖项带来的依赖地狱。 我写了官方的Guzzle OAuth 2.0插件,该插件仍在oauth2分支上,,但是我看到他们已经放弃了对master上的Guzzle <v6的支持,这促使我将其拆分回一个单独的软件包中。 。 特征 通过支持的一种授权类型(代码,客户端凭据,用户凭据,刷新令牌)获取访问令牌。 或者,您可以自己设置访问令牌。 支持刷新令牌(存储它们并使用它们来获取新的访问

========================

getEmitter方法添加头信息

     $client = new Client();$client->getEmitter()->attach(new Mock([new Response(200), new Response(201), new Response(202)]));$history = new History();$client->getEmitter()->attach($history);

中间件

function oauth_1_stack($token = NULL, $token_secret = NULL)
{$stack = HandlerStack::create();$middleware = new Oauth1(['consumer_key'    => 'consumer_key','consumer_secret' => 'consumer_secret','token'           => $token,'token_secret'    => $token_secret,]);$stack->push($middleware);$options = ['handler' => $stack,'auth' => 'oauth'];unset($stack, $middleware);return $options;
}echo memory_get_usage() . "
"; // 4017480$options = oauth_1_stack();echo memory_get_usage() . "
"; // 4509824unset($options);echo memory_get_usage() . "
"; // 4480032

guzzlehttp5.3 and guzzlehttp6.7 , 同时共存。同时安装2个版本guzzlehttp相关推荐

  1. 查看jdk安装路径,实现多个java jdk的共存,安装java19后终端乱码的解决

    查看jdk安装路径, 在windows上实现多个java jdk的共存解决办法, 安装java19后终端乱码的解决 目录 一.查看jdk(java开发工具包)安装路径的方法 二.在windows上实现 ...

  2. Keil C51与Keil MDK共存,Keil4与Keil5共存的安装方式推荐

    Keil C51与Keil MDK共存的安装 举例使用Keil5版本C51.MDK 1.在C盘下直接创建两个文件夹:KeilV5C51和KeilV5MDK. 不同的是需要在KeilV5MDK文件夹下再 ...

  3. 多版本php共存 linux,linux下多版本php共存的原理、方法

    服务器当前PHP版本5.4,新项目中使用了Laravel,PHP版本最低要求5.6.希望保持现有应用同时使用PHP5.6.*.也就是说需要两个版本的PHP同时存在,供nginx根据需要调用不同版本. ...

  4. Apache、Tomcat、IIS(PHP、JSP、ASP)共存及安装Tomcat

    1. 安装 Tomcat apt-get install tomcat7 apt-get install tomcat7-admin apt-get install tomcat7-docs apt- ...

  5. iis php多版本共存,IIS7中多个版本php共存的方法

    最近又重回.net,用回IIS.然后用到某个php开源项目,需要低版本的php,之前装的一个php5.5不能用,所以决定降一下版本,后面发现其实可以多个版本共用.于是打算分享下.分享之前网上先搜了下, ...

  6. ArcGIS 10.2与CityEngine2013共存的安装

    直接上干货 大前提:由于License Manager的不同版本无法同时安装,因此要想ArcGIS和CityEngine共存其License Manger必须一致. 通过校验安装包中License M ...

  7. 多版本python共存,安装三方库到指定python版本 多Python版本和虚拟环境

    多个Python版本:在同一台机器上安装不同的Python,例如2.7和3.4. 虚拟环境:独立的环境,既可以同时安装特定版本的Python,也可以安装任何特定于项目的软件包,而不会影响任何其他项目. ...

  8. 多版本Python共存时pip给指定版本的python安装package的方法

    在Linux安装了多版本Python时(例如python2.7和3.6),pip安装的包不一定是用户想要的位置,此时可以用 -t 选项来指定位置. 例如目标位置是/usr/local/lib/pyth ...

  9. 2008php多版本共存,lnmp安装多版本PHP共存的方法详解

    通过lnmp安装了PHP7版本,但是发现与程序不兼容,需要降低到7.0以下的版本. 查找lnmp的install.sh文件,一般在/root/lnmp1.5/install.sh 下执行命令 sudo ...

  10. linux python2和python3共存_linux-Centos7安装python3并与python2共存

    1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...

最新文章

  1. DM***+EZ***
  2. SQLServer 扫盲
  3. Android 设备启动时,APP应用自启动
  4. 计算机网络十进制转二进制的应用题,【网络-理论】二进制与十进制的转换
  5. 论文阅读9-Fine-tuning Pre-Trained Transformer Language Models to(远程监督关系抽取,ACL2019,GPT,长尾关系,DISTRE)
  6. 公司为什么宁愿花11K月薪招新人,也不愿意花9K的月薪留住老员工?
  7. Python学习杂记之静态网页学习
  8. 漫步数学分析十五——连续
  9. 开源硬件 可穿戴_11个出色的可穿戴开源项目
  10. arduino安卓手机版_剥离安卓!华为鸿蒙系统手机版正式发布:这两大机型率先升级...
  11. I00030 Grades conversion
  12. python需要下载哪些软件-80%的人都不知道,全球Python库下载前10名
  13. cygwin/msys: fatal error LNK1104: 无法打开文件“kernel32.lib”
  14. 创建一个基础WDM驱动,并使用MFC调用驱动
  15. python 物理引擎_第十六章:物理引擎
  16. 计算机桌面颜色如何设置标准,教你把电脑屏幕设置成可以保护眼睛的颜色
  17. 英语语法形容词的顺序
  18. python 程序运行时间长,python查看程序运行时间的方法
  19. C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0。在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是
  20. 美的java面试经验

热门文章

  1. 安卓psp模拟器联机教程_侠盗猎车手:血战唐人街PSP版模拟器实测 有链接,有联机教程...
  2. C#在VS2019中各种字体颜色的意思
  3. Monash call:什么是生物识别安全 - 定义,系统以及设备
  4. 【Transformer】李沐论文逐段精读学习笔记
  5. 李白打酒递归java_李白打酒----递归理解
  6. Java 面向对象 习题2(基础篇)
  7. java中13%(-3)_Java13版本特性【一文了解】
  8. 【OWASP TOP10】2021全球十大常见安全漏洞
  9. Python Recap 重新审视Python - 1 Python中的类
  10. 生命与负熵---宇宙的心弦