我尝试向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错误6:无法解析主机:用户.
为什么我会收到此错误消息?
如果我访问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);
});
解决方法:
你为什么打电话给$client-> get->() – > send()?特别是,为什么要在最后链接send()方法?在演示似乎相同的操作时,文档不附加send()方法:
http://guzzle.readthedocs.org/en/latest/quickstart.html#creating-a-client
另外,您是否考虑过本声明对上述手册页的影响?
When a relative URI is provided to a client, the client will combine the base URI with the relative URI using the rules described in RFC 3986, section 2.