gpt4 book ai didi

guzzle - base_uri 不是基于 guzzle 客户端实例化

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

我正在使用 lumen 尝试通过 guzzle 设置简单的 api 请求。

问题是 base_uri 参数似乎没有在初始 new Client() 上正确传递.

简化示例:

use GuzzleHttp\Client;

$client = new Client([
'base_uri' => 'https://siteurl.com/api/v2'
]);

然后通过get调用api
$res = $client->get('orders', [
'query' => [
'status' => 'completed'
]
]);

不起作用。我一直小心不要使用绝对网址,如 /orders .如果我完全绕过 base_uri 并将其添加到 get 方法 $client->get('https://siteurl.com/api/v2/orders') , 有用。

我正在使用:
"laravel/lumen-framework": "5.0.*",
"guzzlehttp/guzzle": "^6.0"

*跟进:

我添加了调试标志,以便我可以比较 header ,明显的区别在于 get 请求行。

get 方法中的绝对 url(绕过 base_uri):

GET /api/v2/orders?status=completed HTTP/1.1



使用 base_uri(正在剥离版本):

GET /api/orders?status=completed HTTP/1.1

最佳答案

你需要用一个正斜杠来终止你的 base_uri/

例如。,

use GuzzleHttp\Client;

$client = new Client([
'base_uri' => 'https://siteurl.com/api/v2/'
]);

编辑: 备注 base_uri 用于 Guzzle 6+,而以前的版本使用 base_url。

关于guzzle - base_uri 不是基于 guzzle 客户端实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30834147/

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