'http://foo.com', ]);-6ren">
gpt4 book ai didi

guzzle6 - Guzzle 6 : Get URL that was "resolved" from base_uri

转载 作者:行者123 更新时间:2023-12-02 01:31:30 26 4
gpt4 key购买 nike

Guzzle 3您可以获得解析后的 URL(无需实际打开它),如下所示:

$client = new Client([
'base_uri' => 'http://foo.com',
]);

$request = $client->get('bar.html');

echo $request->getUrl();

Guzzle 6这不再起作用了。是否有另一种获取“http://foo.com/bar.html”的方法?

最佳答案

您可以使用 history 中间件,如宣传的那样工作:

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware;
use Psr\Http\Message\RequestInterface;

$container = [];

$stack = HandlerStack::create();
$stack->push(Middleware::history($container));

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

$response = $client->request('GET', 'bar.html');

/* @var RequestInterface $request */
$request = $container[0]['request'];

echo $request->getUri();

有关引用,请参阅 http://docs.guzzlephp.org/en/latest/testing.html#history-middleware .

关于guzzle6 - Guzzle 6 : Get URL that was "resolved" from base_uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33963826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com