Guzzle returns cURL 错误 3:<url> 格式错误

Guzzle returns cURL error 3: <url> malformed

我想试用 guzzle 库并按照他们的 quickstart 教程向 api.

发出 http 请求

但它似乎不起作用,因为我收到以下错误:

cURL error 3: <url> malformed

由于我以前从未使用过 cURL,所以我什至不知道如何响应该错误消息。这是我提出的请求的代码:

    $client = new Client();
    $client->get('/', ['verify' => true]);

    $response = $client->get('https://api.github.com/');

    dd($response);

我正在使用 Laravel 5 框架并在我的 HomeController 中调用索引方法。我也在使用 WAMP。

我将不胜感激任何帮助和建议,因为我想试用 Guzzle。

这是我收到的错误消息的图片:

如果您想禁用验证(不要这样做!):

$response = $client->get('https://api.github.com/', ['verify' => false]);

与其完全禁用验证,还不如通过提供适当的 CA 捆绑文件来解决这个问题。请参阅 Guzzle 文档中的 verify

$client->setDefaultOption(
    'verify', 
    'C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt'
);

你不应该接这个电话:

$client->get('/', ['verify' => true]);

这就是引发错误的原因。第三行没问题

错误如其所言。 URL / 显然无效。实例化客户端时,使用 base_uri 选项,或在对 get().

的调用中指定完整的 URL

如果您是因为用谷歌搜索"Guzzle returns cURL error 3: malformed"来到这里,请检查客户端参数。在某些版本中它是 base_uri 和其他 base_url

    $client = new Client([
        'base_uri' => 'http://localhost:8000',  // <-- base_uri instead of base_url
    ]);

就我而言,我错误地将我的环境文件命名为“env”

确保它存在于根路径并命名为“.env”