Laravel:GuzzleHttp客户

时间:2016-03-08 08:00:09

标签: php guzzle6

我正在使用"guzzlehttp/guzzle": "~6.0"并尝试使用以下代码github用户。

$client = new \GuzzleHttp\Client();

$request = $client->createRequest('GET', 'https://api.github.com/users');
$query = $request->getQuery();
$query->set('since',135);
$response = $request->send();
$oResponse = json_decode($response->getBody(true));

但我收到了错误 Argument 3 passed to GuzzleHttp\Client::request() must be of the type array, string given 但这种方法适用于"guzzle/guzzle": "^3.9",我不知道我在哪里遗漏了什么。

1 个答案:

答案 0 :(得分:0)

"guzzlehttp/guzzle": "~6.0"会让你获得Guzzle v6.1.1。 v3.9和v6.1之间的方法和方法签名不同。这么多,Client::createRequest()在v6.1中不存在,而且实际上由Client::__call()捕获,然后传递给Client::request(),在那里你获得错误,因为提供的参数与签名不匹配Client::request()

有关Guzzle 6的更多信息可以从Guzzle docs获得。

您还会发现您的$request->send()会抛出错误。 Guzzle 6将Psr7放在心上,因此Request / Response对象实现了Psr7规范。