加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在guzzle 6中初始化后设置请求选项

发布时间:2020-12-13 13:23:39 所属栏目:PHP教程 来源:网络整理
导读:在Guzzle版本 6我曾经在客户端初始化后动态设置我的身份验证标头.我为此使用了setDefaultOption(). $client = new Client(['base_url' = $url]);$client-setDefaultOption('auth',[$username,$password]); 但是,此功能似乎在版本6中已弃用.我将如何解决此问
在Guzzle版本< 6我曾经在客户端初始化后动态设置我的身份验证标头.我为此使用了setDefaultOption().
$client = new Client(['base_url' => $url]);
$client->setDefaultOption('auth',[$username,$password]);

但是,此功能似乎在版本6中已弃用.我将如何解决此问题?

注意:我需要这样做的原因是因为我正在使用guzzle进行批处理请求,其中一些请求需要不同的身份验证参数.

Guzzle 6的最佳选择是重新创建客户端. Guzzle的HTTP客户端现在是不可变的,因此每当您想要更改某些内容时,您应该创建一个新对象.

这并不意味着您必须重新创建整个对象图,HandlerStack和中间件可以保持不变:

use GuzzleHttpClient;
use GuzzleHttpHandlerStack;

$stack = HandlerStack::create();
$stack->push(Middleware::retry(/* ... */));
$stack->push(Middleware::log(/* ... */));

$client = new Client([
    'handler' => $stack,'base_url' => $url,]);

// ...

$newClient = new Client([
    'handler' => $stack,'auth' => [$username,$password]
]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读