Laravel-Guzzle Request / cURL错误6:无法解析主机

问题描述 投票:3回答:4

我试图向Github API发出API请求只是为了进行测试。我在Laravel 5.1 APP上安装了最新的Guzzle版本(“ guzzle / guzzle”:“ ^ 3.9”)。在我的routes.php中,我具有以下代码:

Route::get('guzzle/{username}', function($username) {
    $client = new Client([
        'base_uri' => 'https://api.github.com/users/',
    ]);
    $response = $client->get("/users/$username");
    dd($response);
});

如果现在访问URL domain.dev/github/kayyyy,我将收到错误cURL error 6: Could not resolve host: users

我为什么会收到此错误?

如果我访问https://api.github.com/users/kayyyy,我可以看到json输出。

我也在使用Homestead / Vagrant,这可能是主机无法解决的问题吗?

编辑如果我在没有base_uri的情况下尝试了此方法,那么它会起作用。

Route::get('guzzle/{username}', function($username) {
   $client = new GuzzleHttp\Client();
    $response = $client->get("https://api.github.com/users/$username");
    dd($response);
});

我试图向Github API发出API请求只是为了进行测试。我在Laravel 5.1 APP上安装了最新的Guzzle版本(“ guzzle / guzzle”:“ ^ 3.9”)。在我的routes.php中,我有以下代码:...

php laravel curl guzzle
4个回答
4
投票

您为什么打给$client->get->()->send()?特别是,为什么最后要链接send()方法?在说明似乎是相同的操作时,文档未附加send()方法:


3
投票

实际上,单引号内不可能进行变量插值。这意味着您当前正在调用users/$username,并且$username变量不会替换为其值。


3
投票

好吧,我解决了,我的愚蠢错误。我使用了new Client


0
投票

感谢Paratronhttps://github.com/googleapis/google-api-php-client/issues/1184#issuecomment-355295789就我而言,在cakephp 3.8和docker 19.03.5上,由于某些网络问题,我遇到了curl错误。我重新启动了cake-server docker容器,它的工作就像一个魅力。

© www.soinside.com 2019 - 2024. All rights reserved.