在Guzzle版本< 6我曾经在客户端初始化后动态设置我的身份验证标头.我为此使用了setDefaultOption().
$client = new Client(['base_url' => $url]); $client->setDefaultOption('auth',[$username,$password]);
注意:我需要这样做的原因是因为我正在使用guzzle进行批处理请求,其中一些请求需要不同的身份验证参数.
Guzzle 6的最佳选择是重新创建客户端. Guzzle的HTTP客户端现在是不可变的,因此每当您想要更改某些内容时,您应该创建一个新对象.
这并不意味着您必须重新创建整个对象图,HandlerStack和中间件可以保持不变:
use GuzzleHttp\Client; use GuzzleHttp\HandlerStack; $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] ]);
原文地址:https://www.jb51.cc/php/137215.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。